<SEC-DOCUMENT>0001079973-24-000473.txt : 20240401
<SEC-HEADER>0001079973-24-000473.hdr.sgml : 20240401
<ACCEPTANCE-DATETIME>20240401163040
ACCESSION NUMBER:		0001079973-24-000473
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		91
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240401
DATE AS OF CHANGE:		20240401

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			DUOS TECHNOLOGIES GROUP, INC.
		CENTRAL INDEX KEY:			0001396536
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				650493217
		STATE OF INCORPORATION:			FL
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		7660 CENTURION PARKWAY
		STREET 2:		SUITE 100
		CITY:			JACKSONVILLE
		STATE:			FL
		ZIP:			32256
		BUSINESS PHONE:		904-296-2807

	MAIL ADDRESS:	
		STREET 1:		7660 CENTURION PARKWAY
		STREET 2:		SUITE 100
		CITY:			JACKSONVILLE
		STATE:			FL
		ZIP:			32256

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	DUOS TECHNOLOGY GROUP, INC.
		DATE OF NAME CHANGE:	20150710

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	INFORMATION SYSTEMS ASSOCIATES, INC.
		DATE OF NAME CHANGE:	20070416
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>duot_10k-123123.htm
<DESCRIPTION>ANNUAL REPORT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:duot="http://duostechnologies/20231231">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html"/>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02E_US%2DGAAP%2D2023%2D(with%2DECD)_rempres -->
<!-- Field: Set; Name: xdx; ID: xdx_03C_duot_duostechnologies_20231231 -->
<!-- Field: Set; Name: xdx; ID: xdx_04A_20230101_20231231 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_053_edei%2D%2DDocumentFiscalYearFocus_2023 -->
<!-- Field: Set; Name: xdx; ID: xdx_05A_edei%2D%2DDocumentFiscalPeriodFocus_FY -->
<!-- Field: Set; Name: xdx; ID: xdx_058_edei%2D%2DEntityCentralIndexKey_0001396536 -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_069_Pure_4_xbrli%2D%2Dpure -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_sqft_0_utr%2D%2Dsqft -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000003" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000004" name="dei:DocumentFiscalYearFocus">2023</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000005" name="dei:DocumentFiscalPeriodFocus">FY</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000006" name="dei:EntityCentralIndexKey">0001396536</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetNoncurrent" contextRef="AsOf2022-12-31" id="xdx2ixbrl0097" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:FinanceLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="xdx2ixbrl0126" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2023-12-31" id="xdx2ixbrl0144" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2022-12-31" id="xdx2ixbrl0145" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="xdx2ixbrl0185" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="xdx2ixbrl0187" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="xdx2ixbrl0209" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="xdx2ixbrl0211" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="xdx2ixbrl0233" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="xdx2ixbrl0235" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="xdx2ixbrl0283" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="xdx2ixbrl0305" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="xdx2ixbrl0307" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0432" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0433" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0434" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0445" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0447" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0449" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0453" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0455" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0456" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0457" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0460" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0461" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0462" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0469" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0470" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0471" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0472" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0475" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0476" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0477" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0483" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0484" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0486" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0487" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0488" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0490" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0491" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0496" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0497" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0498" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0499" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0500" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0501" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0503" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0504" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0507" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0508" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0509" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0510" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0511" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0514" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0515" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0520" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0521" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0522" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0523" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0524" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0525" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0531" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0532" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0533" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0534" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0535" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0538" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0539" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0544" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0545" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0546" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0547" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0548" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0549" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0550" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0552" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0555" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0556" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0558" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0559" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0566" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0568" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0572" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0574" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0578" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0579" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0580" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0582" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0583" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0585" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0586" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0591" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0592" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0593" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0594" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0596" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0598" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0599" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0604" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0605" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0606" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0609" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0610" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0611" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0612" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0613" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0619" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0620" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0621" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0622" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0623" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0624" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0626" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0627" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0630" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0631" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0632" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0633" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0634" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0635" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0637" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0638" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0641" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0642" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0643" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0644" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0645" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0648" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0649" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0654" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0655" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0656" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0657" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0658" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0661" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0662" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0667" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0668" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember" id="xdx2ixbrl0669" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="xdx2ixbrl0670" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0671" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0672" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0673" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember" id="xdx2ixbrl0675" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0678" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0679" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0682" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_custom_PreferredStockBMember" id="xdx2ixbrl0689" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_custom_PreferredStockCMember" id="xdx2ixbrl0691" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_custom_PreferredStockFMember" id="xdx2ixbrl0697" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="duot:IncreaseDecreaseInNotesReceivable" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0729" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:IncreaseDecreaseInSecurityDeposits" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0738" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:ProceedsFromIssuanceOfCommonStocks" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl0782" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl0789" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2023-12-31" id="xdx2ixbrl0982" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2022-12-31" id="xdx2ixbrl0983" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:ConstructionInProgress" contextRef="AsOf2022-12-31" id="xdx2ixbrl1080" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember" id="xdx2ixbrl1110" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteOneMember" id="xdx2ixbrl1112" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteFourMember" id="xdx2ixbrl1126" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember" id="xdx2ixbrl1252" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember" id="xdx2ixbrl1262" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_RailMember" id="xdx2ixbrl1266" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_CommercialMember" id="xdx2ixbrl1268" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_GovernmentsMember" id="xdx2ixbrl1270" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_ArtificialIntelligenceMember" id="xdx2ixbrl1272" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember" id="xdx2ixbrl1274" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_RailMember" id="xdx2ixbrl1276" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_CommercialMember" id="xdx2ixbrl1278" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_GovernmentsMember" id="xdx2ixbrl1280" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_ArtificialIntelligenceMember" id="xdx2ixbrl1282" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember" id="xdx2ixbrl1284" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_RailMember" id="xdx2ixbrl1286" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_CommercialMember" id="xdx2ixbrl1288" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_GovernmentsMember" id="xdx2ixbrl1290" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember" id="xdx2ixbrl1310" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember" id="xdx2ixbrl1312" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember" id="xdx2ixbrl1365" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_RailMember" id="xdx2ixbrl1369" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_CommercialMember" id="xdx2ixbrl1371" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_GovernmentsMember" id="xdx2ixbrl1373" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_ArtificialIntelligenceMember" id="xdx2ixbrl1375" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember" id="xdx2ixbrl1377" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_RailMember" id="xdx2ixbrl1379" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_CommercialMember" id="xdx2ixbrl1381" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_GovernmentsMember" id="xdx2ixbrl1383" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_ArtificialIntelligenceMember" id="xdx2ixbrl1385" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember" id="xdx2ixbrl1387" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_RailMember" id="xdx2ixbrl1389" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_CommercialMember" id="xdx2ixbrl1391" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_GovernmentsMember" id="xdx2ixbrl1393" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" id="xdx2ixbrl1529" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-12-31" id="xdx2ixbrl1530" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2023-12-31" id="xdx2ixbrl1550" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2022-12-31" id="xdx2ixbrl1552" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="xdx2ixbrl1974" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="xdx2ixbrl1982" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="xdx2ixbrl1990" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="xdx2ixbrl2008" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="xdx2ixbrl2016" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" id="xdx2ixbrl2034" unitRef="Pure" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" id="xdx2ixbrl2036" unitRef="Pure" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2021-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2068" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2072" unitRef="USDPShares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ConversionOfStockSharesIssued1" contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2074" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2076" unitRef="USDPShares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2084" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2092" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2100" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="duot:WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2104" unitRef="USDPShares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ConversionOfStockSharesIssued1" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2106" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2108" unitRef="USDPShares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2116" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="xdx2ixbrl2124" unitRef="USD" xs:nil="true"/>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="duot-20231231.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2023-01-01to2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-28">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-10-012023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-10-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesAPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesAPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesBPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesBPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesFPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesFPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_ProductMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_ProductMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_ServiceOtherMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_ServiceOtherMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_PreferredStockBMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_PreferredStockCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_PreferredStockDMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_PreferredStockEMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_PreferredStockFMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_PreferredStockBMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_PreferredStockCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_PreferredStockDMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_PreferredStockEMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_PreferredStockFMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_PreferredStockBMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_PreferredStockCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_PreferredStockDMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_PreferredStockEMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_PreferredStockFMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_PreferredStockBMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_PreferredStockCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_PreferredStockDMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_PreferredStockEMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_PreferredStockFMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_PreferredStockBMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_PreferredStockCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_PreferredStockDMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_PreferredStockEMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_PreferredStockFMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer1Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer2Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer3Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer1Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer2Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer3Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_Customer4Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer4Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:CustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer1Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer2Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer1Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer2Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_Customer3Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer3Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_Customer4Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer4Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:CustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:CustomerMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_PatentsAndTrademarksMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">duot:PatentsAndTrademarksMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_CommonStockMember5618031">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SeriesDConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SeriesEConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SeriesFConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesFConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_SeriesDConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentOtherTypesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_FurnitureAndFixturesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_FurnitureAndFixturesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_EquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_EquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentOtherTypesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_SoftwareDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_SoftwareDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentOtherTypesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_PatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_PatentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-23_custom_ThirdPartyInsuranceNoteOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-23</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-12-222022-12-23_custom_ThirdPartyInsuranceNoteOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-12-22</xbrli:startDate>
        <xbrli:endDate>2022-12-23</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-04-15_custom_ThirdPartyInsuranceNoteTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-04-15</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-142022-04-15_custom_ThirdPartyInsuranceNoteTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-14</xbrli:startDate>
        <xbrli:endDate>2022-04-15</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-04-15</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-142023-04-15_custom_ThirdPartyInsuranceNoteTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-14</xbrli:startDate>
        <xbrli:endDate>2023-04-15</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-09-15_custom_ThirdPartyInsuranceNoteThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-09-15</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-02-02</xbrli:startDate>
        <xbrli:endDate>2023-02-03</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-02-012022-02-03">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-02-01</xbrli:startDate>
        <xbrli:endDate>2022-02-03</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-09-272022-09-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-09-27</xbrli:startDate>
        <xbrli:endDate>2022-09-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-02-03_custom_ThirdPartyInsuranceNoteFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-02-03</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-02-02</xbrli:startDate>
        <xbrli:endDate>2023-02-03</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-05-22_custom_EquipmentFinancingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:EquipmentFinancingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-05-22</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-05-212023-06-01_custom_EquipmentFinancingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:EquipmentFinancingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-05-21</xbrli:startDate>
        <xbrli:endDate>2023-06-01</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_EquipmentFinancingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:EquipmentFinancingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_EquipmentFinancingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:EquipmentFinancingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_NorthAmericaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TurnkeyProjectsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_AlgorithmsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_RailMember_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_RailMember_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_NorthAmericaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_AlgorithmsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_RailMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_GovernmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_RailMember_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_GoodsTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_RailMember_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ServicesTransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-07-252021-07-26">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-07-25</xbrli:startDate>
        <xbrli:endDate>2021-07-26</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-07-26">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-07-26</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-05-112021-05-12_custom_TwoThousandTwentyOneEquityIncentivePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:TwoThousandTwentyOneEquityIncentivePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-05-11</xbrli:startDate>
        <xbrli:endDate>2021-05-12</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SeriesBConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesBConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_SeriesBConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesBConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ConvertibleSeriesCPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-02-252021-02-26_custom_PurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-02-25</xbrli:startDate>
        <xbrli:endDate>2021-02-26</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-01-31_custom_ConvertibleSeriesCPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-09-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ConvertibleSeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-09-30_custom_PurchaseAgreementMember_custom_SeriesDConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-09-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-07-012022-09-30_custom_SeriesDConvertiblePreferredStockMember_custom_PurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-07-01</xbrli:startDate>
        <xbrli:endDate>2022-09-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-10-29_custom_SeriesDConvertiblePreferredStockMember_us-gaap_PrivatePlacementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-10-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-10-282022-10-29_custom_SeriesDConvertiblePreferredStockMember_us-gaap_PrivatePlacementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-10-28</xbrli:startDate>
        <xbrli:endDate>2022-10-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ConvertibleSeriesEPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-27</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-262023-03-27_custom_SeriesEConvertiblePreferredStockMember_custom_PurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-26</xbrli:startDate>
        <xbrli:endDate>2023-03-27</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-11-08</xbrli:startDate>
        <xbrli:endDate>2023-11-09</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-11-09</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-11-09_custom_SeriesEConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-11-09</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-11-09_custom_SeriesFConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesFConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-11-09</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesFPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-11-10</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-11-10</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_SeriesEConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_SeriesEConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-07-302023-08-02">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-07-30</xbrli:startDate>
        <xbrli:endDate>2023-08-02</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ConvertibleSeriesFPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesFPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-11-10_custom_SeriesEConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-11-10</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-11-10_custom_SeriesFConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesFConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-11-10</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:ThreeDirectorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:ThreeDirectorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:ThreeDirectorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:ThreeDirectorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-07-012023-09-30_custom_FourDirectorsMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:FourDirectorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-07-01</xbrli:startDate>
        <xbrli:endDate>2023-09-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-09-29_custom_FourDirectorsMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:FourDirectorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-09-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-09-30_custom_ESPPMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">duot:ESPPMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-09-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-10-012023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:FourDirectorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-10-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:FourDirectorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-07-012023-12-29_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-07-01</xbrli:startDate>
        <xbrli:endDate>2023-12-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-29_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-102022-01-11">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-10</xbrli:startDate>
        <xbrli:endDate>2022-01-11</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-102022-01-11_custom_ConvertibleSeriesCPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-10</xbrli:startDate>
        <xbrli:endDate>2022-01-11</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-02-022022-02-03">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-02-02</xbrli:startDate>
        <xbrli:endDate>2022-02-03</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-02-03">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-02-03</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-02-202022-02-21">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-02-20</xbrli:startDate>
        <xbrli:endDate>2022-02-21</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-02-21">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-02-21</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_srt_DirectorMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_srt_DirectorMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_srt_DirectorMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_srt_DirectorMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-08-242022-08-25">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-08-24</xbrli:startDate>
        <xbrli:endDate>2022-08-25</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-08-242022-08-25_custom_ConvertibleSeriesBPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesBPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-08-24</xbrli:startDate>
        <xbrli:endDate>2022-08-25</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-07-012022-09-30_srt_DirectorMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-07-01</xbrli:startDate>
        <xbrli:endDate>2022-09-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-07-012022-09-30_us-gaap_PrivatePlacementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-07-01</xbrli:startDate>
        <xbrli:endDate>2022-09-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-09-30_us-gaap_PrivatePlacementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-09-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-07-012022-09-30_us-gaap_SeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-07-01</xbrli:startDate>
        <xbrli:endDate>2022-09-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-09-30_us-gaap_SeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-09-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-09-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-09-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-10-282022-10-29_us-gaap_PrivatePlacementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-10-28</xbrli:startDate>
        <xbrli:endDate>2022-10-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-10-29_us-gaap_PrivatePlacementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-10-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-10-282022-10-29_us-gaap_SeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-10-28</xbrli:startDate>
        <xbrli:endDate>2022-10-29</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-10-29_us-gaap_SeriesDPreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-10-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-10-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-10-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-10-012023-12-31_srt_DirectorMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-10-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_srt_DirectorMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-10-012023-12-31_custom_EmployeeStockPurchasePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-10-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_EmployeeStockPurchasePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_EmployeeStockPurchasePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-07-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-07-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_EmployeesAndDirectorsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:EmployeesAndDirectorsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_EmployeesAndDirectorsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:EmployeesAndDirectorsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2017-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2017-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2018-01-012018-12-31_custom_ShareholdersOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">duot:ShareholdersOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2018-01-01</xbrli:startDate>
        <xbrli:endDate>2018-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2018-01-012018-12-31_custom_ShareholdersTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">duot:ShareholdersTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2018-01-01</xbrli:startDate>
        <xbrli:endDate>2018-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ShareholdersOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">duot:ShareholdersOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ShareholdersTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">duot:ShareholdersTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-10-012023-12-31_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-10-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-302023-04-02_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-30</xbrli:startDate>
        <xbrli:endDate>2023-04-02</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-11-292023-12-01_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-11-29</xbrli:startDate>
        <xbrli:endDate>2023-12-01</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_OptionsMember_custom_FormerStaffMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">duot:OptionsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">duot:FormerStaffMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-07-012022-09-30_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-07-01</xbrli:startDate>
        <xbrli:endDate>2022-09-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-09-30_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-09-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-12-282022-01-02_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-12-28</xbrli:startDate>
        <xbrli:endDate>2022-01-02</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-07-012022-07-02_srt_ManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-07-01</xbrli:startDate>
        <xbrli:endDate>2022-07-02</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-06-30_custom_OptionsMember_custom_FormerStaffMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">duot:OptionsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">duot:FormerStaffMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-07-012022-09-30_custom_OptionsMember_custom_TwoEmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">duot:OptionsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">duot:TwoEmployeesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-07-01</xbrli:startDate>
        <xbrli:endDate>2022-09-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_WarrantMember_custom_FourtyEightWarrantsHoldersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">duot:FourtyEightWarrantsHoldersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-10-012023-12-31_us-gaap_WarrantMember_custom_FourtyEightWarrantsHoldersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">duot:FourtyEightWarrantsHoldersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-10-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-10-012022-12-31_us-gaap_WarrantMember_custom_SixtyThreeWarrantsHoldersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">duot:SixtyThreeWarrantsHoldersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-10-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesDConvertiblePreferredStockMember_us-gaap_SubsequentEventMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-03-21</xbrli:startDate>
        <xbrli:endDate>2024-03-22</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesEConvertiblePreferredStockMember_us-gaap_SubsequentEventMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-03-21</xbrli:startDate>
        <xbrli:endDate>2024-03-22</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesEConvertiblePreferredStockMember_us-gaap_SubsequentEventMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-22</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-22</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_us-gaap_SubsequentEventMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001396536</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-03-21</xbrli:startDate>
        <xbrli:endDate>2024-03-22</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <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="Pure">
      <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="sqft">
      <xbrli:measure>utr:sqft</xbrli:measure>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


<p style="margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>UNITED STATES</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>SECURITIES AND EXCHANGE COMMISSION</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Washington, D.C. 20549</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<p style="font: 14pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>FORM <span id="xdx_909_edei--DocumentType_c20230101__20231231_z2XvkzUszpMd"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000013" name="dei:DocumentType">10-K</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_901_edei--DocumentAnnualReport_c20230101__20231231_zDHO69uOtQI9"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleantrue" id="Fact000014" name="dei:DocumentAnnualReport">&#9746;</ix:nonNumeric></span></span>
<b>ANNUAL REPORT UNDER SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">for the fiscal year ended <b><span id="xdx_90F_edei--DocumentPeriodEndDate_c20230101__20231231_zMWsCDK4H2j"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:datemonthdayyearen" id="Fact000015" name="dei:DocumentPeriodEndDate"><span id="xdx_90B_edei--CurrentFiscalYearEndDate_c20230101__20231231_zViGsFZZ7Rk" title="Current Fiscal Year End Date"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:datemonthdayen" id="Fact000017" name="dei:CurrentFiscalYearEndDate">December 31</ix:nonNumeric></span>, 2023</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_90D_edei--DocumentTransitionReport_c20230101__20231231_z0Gcc6sJ13yc" title="Document Transition Report"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000019" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></span>
<b>TRANSITION REPORT UNDER SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">For the transition period from: _____________ to _____________</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">Commission file number: <b><span id="xdx_90D_edei--EntityFileNumber_c20230101__20231231_zmqAPUY4lxUi"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000020" name="dei:EntityFileNumber">000-55497</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<p style="font: 14pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span id="xdx_90C_edei--EntityRegistrantName_c20230101__20231231_zbDFRl7OQcB4" title="Entity Registrant Name"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000022" name="dei:EntityRegistrantName">DUOS TECHNOLOGIES GROUP, INC.</ix:nonNumeric></span></b></p>

<p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><i>(Exact name of registrant as specified in its charter)</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border-bottom: black 1pt solid; width: 47%; text-align: center"><b><span id="xdx_90C_edei--EntityIncorporationStateCountryCode_c20230101__20231231_zctahJO3oVx2"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:stateprovnameen" id="Fact000023" name="dei:EntityIncorporationStateCountryCode">Florida</ix:nonNumeric></span></b></td>
    <td style="width: 8%; text-align: justify">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 45%; text-align: center"><b><span id="xdx_905_edei--EntityTaxIdentificationNumber_c20230101__20231231_zN17jjllr9v6"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000024" name="dei:EntityTaxIdentificationNumber">65-0493217</ix:nonNumeric></span></b></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span style="font-size: 8pt"><i>(State or Other Jurisdiction of Incorporation)</i></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center"><span style="font-size: 8pt"><i>(I.R.S. Employer Identification No.)</i></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span id="xdx_90D_edei--EntityAddressAddressLine1_c20230101__20231231_zLdSLMKT5gz4"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000025" name="dei:EntityAddressAddressLine1">7660 Centurion Parkway</ix:nonNumeric></span>, <span id="xdx_901_edei--EntityAddressAddressLine2_c20230101__20231231_zGWWFcumBRtc"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000026" name="dei:EntityAddressAddressLine2">Suite 100</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span id="xdx_905_edei--EntityAddressCityOrTown_c20230101__20231231_zZStDL5Oq6Ea"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000027" name="dei:EntityAddressCityOrTown">Jacksonville</ix:nonNumeric></span>, <span id="xdx_902_edei--EntityAddressStateOrProvince_c20230101__20231231_z82wDrw20ZD2"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:stateprovnameen" id="Fact000028" name="dei:EntityAddressStateOrProvince">Florida</ix:nonNumeric></span> <span id="xdx_90B_edei--EntityAddressPostalZipCode_c20230101__20231231_ziwPhlIeprLe"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000029" name="dei:EntityAddressPostalZipCode">32256</ix:nonNumeric></span></b></p>

<p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><i>(Address of Principal Executive Offices)</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span id="xdx_908_edei--CityAreaCode_c20230101__20231231_zNxdcNG5VGo2"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000030" name="dei:CityAreaCode">(904)</ix:nonNumeric></span> <span id="xdx_905_edei--LocalPhoneNumber_c20230101__20231231_z9lpyH34rTZa"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000031" name="dei:LocalPhoneNumber">296-2807</ix:nonNumeric></span></b></p>

<p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><i>(Registrant&#8217;s telephone number, including area
code)</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">Securities registered pursuant to Section 12(b) of
the Act:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="width: 36%; text-align: center"><span style="font-size: 8pt"><b><span style="text-decoration: underline">Title of each class</span></b></span></td>
    <td style="width: 23%; text-align: center"><span style="font-size: 8pt"><b><span style="text-decoration: underline">Trading Symbol(s)</span></b></span></td>
    <td style="width: 41%; text-align: center"><span style="font-size: 8pt"><b><span style="text-decoration: underline">Name of each exchange on which registered</span></b></span></td></tr>
  <tr>
    <td style="text-align: center"><b><span id="xdx_903_edei--Security12bTitle_c20230101__20231231_zGzhhszEE5td"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000032" name="dei:Security12bTitle">Common Stock, par value $0.001 per share</ix:nonNumeric></span></b></td>
    <td style="text-align: center"><b><span id="xdx_90F_edei--TradingSymbol_c20230101__20231231_zTMyh31607sd"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000033" name="dei:TradingSymbol">DUOT</ix:nonNumeric></span></b></td>
    <td style="text-align: center"><b>The <span id="xdx_906_edei--SecurityExchangeName_c20230101__20231231_zg9mxa9aCzlj"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:exchnameen" id="Fact000034" name="dei:SecurityExchangeName">NASDAQ</ix:nonNumeric></span> Capital Market</b></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Indicate by check mark if the registrant is a well-known
seasoned issuer, as defined in Rule 405 of the Securities Act.&#160;Yes&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span>&#160;&#160;&#160;<span id="xdx_90F_edei--EntityWellKnownSeasonedIssuer_c20230101__20231231_zoqAVGCNuLWl"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000035" name="dei:EntityWellKnownSeasonedIssuer">No</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Indicate by check mark if the registrant is not required
to file reports pursuant to Section 13 or Section 15(d) of the Act.&#160;Yes&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span>&#160;&#160;&#160;<span id="xdx_909_edei--EntityVoluntaryFilers_c20230101__20231231_z2tWJFnUpex3"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000036" name="dei:EntityVoluntaryFilers">No</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Indicate by check mark whether the registrant: (1)
has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months
(or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements
for the past 90 days.&#160;<span id="xdx_902_edei--EntityCurrentReportingStatus_c20230101__20231231_z6bidQbIi6ma"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000037" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9746;</span>&#160;&#160;&#160;No&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Indicate by check mark whether the registrant has
submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 Regulation S-T (&#167;232.405 of this
chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160;<span id="xdx_90B_edei--EntityInteractiveDataCurrent_c20230101__20231231_z8PhVouAiR6f"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000038" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9746;</span>&#160;&#160;&#160;No&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Indicate by check mark whether the registrant is a
large accelerated filer, an accelerated filer, a non-accelerated filer, smaller reporting company, or an emerging growth company. See
definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging
growth company&#8221; in Rule 12b-2 of the Exchange Act.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="width: 34%; text-align: justify">Large accelerated filer&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></td>
    <td style="width: 33%; text-align: justify">&#160;</td>
    <td style="width: 33%; text-align: justify">Accelerated filer&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></td></tr>
  <tr>
    <td style="text-align: justify"><span id="xdx_901_edei--EntityFilerCategory_c20230101__20231231_zHuDzgvJsc39"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:entityfilercategoryen" id="Fact000039" name="dei:EntityFilerCategory">Non-accelerated filer</ix:nonNumeric></span>&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9746;</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">Smaller reporting company&#160;<span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_906_edei--EntitySmallBusiness_c20230101__20231231_zdUmh0PRguMk"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleantrue" id="Fact000040" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></td></tr>
  <tr>
    <td style="text-align: justify">Emerging growth company&#160;<span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_902_edei--EntityEmergingGrowthCompany_c20230101__20231231_z6eYCVii2hd1"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000041" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">If an emerging growth company,
indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial
accounting standards provided pursuant to Section 13(a) of the Exchange Act.&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></p>

<p style="font: 10pt Wingdings; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Indicate by check mark whether the registrant has
filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting
under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its
audit report:&#160;<span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_907_edei--IcfrAuditorAttestationFlag_c20230101__20231231_zI7ElhwH0DFk"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000042" name="dei:IcfrAuditorAttestationFlag">&#9744;</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">If securities are registered pursuant to Section
12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction
of an error to previously issued financial statements.&#160;<span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_902_edei--DocumentFinStmtErrorCorrectionFlag_c20230101__20231231_zU4ojlmBaOLb"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000043" name="dei:DocumentFinStmtErrorCorrectionFlag">&#9744;</ix:nonNumeric></span></span></p>

<p style="font: 10pt/10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Indicate by check mark whether any of those error
corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s
executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b).&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Indicate by check mark whether the registrant is a
shell company (as defined in Rule 12b-2 of the Exchange Act.)&#160;Yes&#160;<span style="font-family: Segoe UI Symbol,sans-serif">&#9744;</span>&#160;&#160;&#160;No&#160;<span style="font-family: Segoe UI Symbol,sans-serif"><span id="xdx_90F_edei--EntityShellCompany_dbF_c20230101__20231231_zNBZYFbMgef8"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt:booleanfalse" id="Fact000044" name="dei:EntityShellCompany">&#9746;</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The aggregate market value of the registrant&#8217;s
voting and non-voting common equity held by non-affiliates computed by reference to the average bid and asked price of such common equity
on June 30, 2023, was $<span id="xdx_907_edei--EntityPublicFloat_iI_pp0p0_c20230630_z3RK2V0OHQBh" title="Entity Public Float"><ix:nonFraction name="dei:EntityPublicFloat" contextRef="AsOf2023-06-30" id="Fact000046" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">26,153,446</ix:nonFraction></span>. As of March 28, 2024, the registrant has one class of common equity, and the number of shares outstanding
of such common equity is <span id="xdx_908_edei--EntityCommonStockSharesOutstanding_iI_c20240328_zpOMuwTnfXsa" title="Entity Common Stock, Shares Outstanding"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2024-03-28" id="Fact000048" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,306,663</ix:nonFraction></span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Documents Incorporated by Reference: None.</p>

<p style="font: 1pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 1pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 2pt; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2023 FORM 10-K ANNUAL REPORT</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>TABLE OF CONTENTS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="vertical-align: top; width: 10%">&#160;</td>
    <td style="vertical-align: top; width: 80%">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; width: 10%; text-align: center"><span style="font-size: 8pt"><b>PAGE</b></span></td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top; text-align: center"><b>PART I</b></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_001">Item 1.</a></td>
    <td style="vertical-align: top">Business</td>
    <td style="vertical-align: bottom; text-align: center">1</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_002">Item 1A.</a></td>
    <td style="vertical-align: top">Risk Factors</td>
    <td style="vertical-align: bottom; text-align: center">6</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_003">Item 1B.</a></td>
    <td style="vertical-align: top">Unresolved Staff Comments</td>
    <td style="vertical-align: bottom; text-align: center">13</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_004">Item 1C.</a></td>
    <td style="vertical-align: top">Cybersecurity</td>
    <td style="vertical-align: bottom; text-align: center">13</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_005">Item 2.</a></td>
    <td style="vertical-align: top">Properties</td>
    <td style="vertical-align: bottom; text-align: center">13</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_006">Item 3.</a></td>
    <td style="vertical-align: top">Legal Proceedings</td>
    <td style="vertical-align: bottom; text-align: center">14</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_007">Item 4.</a></td>
    <td style="vertical-align: top">Mine Safety Disclosures</td>
    <td style="vertical-align: bottom; text-align: center">14</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top; text-align: center"><b>PART II</b></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_008">Item 5.</a></td>
    <td style="vertical-align: top">Market for Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</td>
    <td style="vertical-align: bottom; text-align: center">15</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_009">Item 6.</a></td>
    <td style="vertical-align: top">[Reserved]</td>
    <td style="vertical-align: bottom; text-align: center">18</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_010">Item 7.</a></td>
    <td style="vertical-align: top">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operation</td>
    <td style="vertical-align: bottom; text-align: center">19</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_011">Item 7A.</a></td>
    <td style="vertical-align: top">Quantitative and Qualitative Disclosures About Market Risk</td>
    <td style="vertical-align: bottom; text-align: center">27</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_012">Item 8.</a></td>
    <td style="vertical-align: top">Financial Statements and Supplementary Data</td>
    <td style="vertical-align: bottom; text-align: center">27</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_013">Item 9.</a></td>
    <td style="vertical-align: top">Changes In and Disagreements With Accountants on Accounting and Financial Disclosure</td>
    <td style="vertical-align: bottom; text-align: center">27</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_014">Item 9A.</a></td>
    <td style="vertical-align: top">Controls and Procedures</td>
    <td style="vertical-align: bottom; text-align: center">27</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_015">Item 9B.</a></td>
    <td style="vertical-align: top">Other Information</td>
    <td style="vertical-align: bottom; text-align: center">27</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_016">Item 9C.</a></td>
    <td style="vertical-align: top">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</td>
    <td style="vertical-align: bottom; text-align: center">27</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top; text-align: center"><b>PART III</b></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_017">Item 10.</a></td>
    <td style="vertical-align: top">Directors, Executive Officers and Corporate Governance</td>
    <td style="vertical-align: bottom; text-align: center">28</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_024">Item 11.</a></td>
    <td style="vertical-align: top">Executive Compensation</td>
    <td style="vertical-align: bottom; text-align: center">35</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_018">Item 12.</a></td>
    <td style="vertical-align: top">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</td>
    <td style="vertical-align: bottom; text-align: center">39</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_019">Item 13.</a></td>
    <td style="vertical-align: top">Certain Relationships and Related Transactions, and Director Independence</td>
    <td style="vertical-align: bottom; text-align: center">43</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_020">Item 14.</a></td>
    <td style="vertical-align: top">Principal Accountant Fees and Services</td>
    <td style="vertical-align: bottom; text-align: center">44</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top; text-align: center"><b>PART IV</b></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_021">Item 15</a>.</td>
    <td style="vertical-align: top">Exhibit and Financial Statement Schedules</td>
    <td style="vertical-align: bottom; text-align: center">45</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: top"><a href="#a_022">Item 16.</a></td>
    <td style="vertical-align: top">Form 10-K Summary</td>
    <td style="vertical-align: bottom; text-align: center">47</td></tr>
  <tr style="background-color: White">
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
  <tr style="background-color: rgb(204,238,255)">
    <td colspan="2" style="vertical-align: top"><a href="#a_023">SIGNATURES</a></td>
    <td style="vertical-align: bottom; text-align: center">48</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr>
    <td style="width: 100%; text-align: center">i&#160;</td></tr>
  </table>

<!-- Field: Page; Sequence: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>FORWARD-LOOKING STATEMENTS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following discussion should be read in conjunction
with the financial statements and related notes contained elsewhere in this Form 10-K. Certain statements made in this discussion are
&#8220;forward-looking statements&#8221; within the meaning of Section 27A of the Securities Act of 1933, as amended (the &#8220;Securities
Act&#8221;) and Section 21E of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;). Forward-looking statements
can be identified by terminology such as &#8220;may&#8221;, &#8220;will&#8221;, &#8220;should&#8221;, &#8220;expects&#8221;, &#8220;intends&#8221;,
&#8220;anticipates&#8221;, &#8220;believes&#8221;, &#8220;estimates&#8221;, &#8220;predicts&#8221;, or &#8220;continue&#8221; or the negative
of these terms or other comparable terminology and include, without limitation, statements below regarding our business plans, the ability
to raise working capital and expectations as to market acceptance of our products. Forward-looking statements involve risks and uncertainties
and there are important factors that could cause actual results to differ materially from those expressed or implied by these forward-looking
statements. These factors include, but are not limited to, our ability to continue as a going concern, our ability to generate sufficient
cash to continue and expand operations, the competitive environment generally and in our specific market areas, changes in technology,
the availability of and the terms of financing, changes in costs and availability of goods and services, economic conditions in general
and in our specific market areas, changes in federal, state and/or local government laws and regulations potentially affecting the use
of our technology, changes in operating strategy or development plans and the ability to attract and retain qualified personnel. Although
we believe that expectations reflected in the forward-looking statements are reasonable, we cannot guarantee future results, performance
or achievements. Indeed, it is likely that some of our assumptions may prove to be incorrect. Our actual results and financial position
may vary from those projected or implied in the forward-looking statements and the variances may be material. Moreover, we do not assume
responsibility for the accuracy and completeness of these forward-looking statements. The Company is under no duty to update any forward-looking
statements after the date of this report, except as may be required by law.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr>
    <td style="width: 100%; text-align: center">ii&#160;</td></tr>
  </table>

<!-- Field: Page; Sequence: 3; Options: NewSection -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span id="a_001"></span><b>PART I</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Item 1. Business.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 12pt 0 6pt"><b>Our Corporate History</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Information Systems Associates, Inc. (&#8220;ISA&#8221;)
was incorporated in Florida on May 31, 1994. Our original business operations consisted of consulting services for asset management of
large corporate data centers and the development and licensing of information technology (&#8220;IT&#8221;) asset management software.
In late 2014, ISA entered negotiations with Duos Technologies, Inc. (&#8220;duostech&#8482;&#8221;) for the purposes of executing a merger
between the two organizations (also known as a &#8220;reverse triangular merger&#8221;). Incorporated under the laws of Florida on November
30, 1990, duostech&#8482; operated in various industry segments, specializing in the design, development and deployment of proprietary
technology applications and turn-key engineered systems. This transaction was completed on April 1, 2015, whereby duostech&#8482; became
a wholly owned subsidiary of ISA. After the merger was completed, ISA changed its corporate name to Duos Technologies Group, Inc. The
Company, based in Jacksonville, Florida, oversees its wholly owned subsidiary, duostech&#8482; and employs approximately 71 people and
is a technology company which designs, develops, deploys and operates intelligent technology solutions with a focus on software applications
and artificial intelligence (&#8220;AI&#8221;). The Company has a strong portfolio of intellectual property. The Company&#8217;s headquarters
are located at 7660 Centurion Parkway, Suite 100, Jacksonville, Florida 32256 and main telephone number is (904) 296-2807.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Overview</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company, operating under its brand name <span style="font-family: Arial, Helvetica, Sans-Serif; font-size: 8pt; color: #548DD4"><b>duos</b></span><b><span style="font-family: Arial, Helvetica, Sans-Serif; font-size: 8pt">tech</span></b>,
develops and deploys technology systems with focus on inspecting and evaluating moving vehicles. Its technology focus is within the Vision
Technology market sector and, more specifically, the Machine Vision subsector. Machine Vision companies provide imaging-based automatic
inspection and analysis for process control for industry with potential expansion into other markets. Duos has developed key technologies
over the past several years in software, industry specific hardware and artificial intelligence and has demonstrated industrial strength
usability of its systems supporting rail, logistics and intermodal businesses that streamline operations, improve safety and reduce costs.
Our team includes engineering subject matter expertise in hardware, software, and information technology as well as industry specific
applications of artificial intelligence also referred to as Expert Artificial Intelligence. We also have specific industry experts in
the rail industry on staff and as consultants.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Duos is currently developing industry solutions for
its target markets which will address rail, trucking, aviation and other vehicle-based processes. Duos&#8217; initial offering, the Railcar
Inspection Portal (RIP), provides both freight and transit railroad customers and select government agencies the ability to conduct fully
remote railcar inspections of trains while they are moving at full speed. The RIP utilizes a variety of sophisticated optical, laser and
speed sensors to scan each passing railcar to create a high-resolution image-set of the top, sides and undercarriage. These images are
then processed with our edge data center using artificial intelligence (AI) algorithms to identify safety and security defects on each
railcar. The algorithms are developed in conjunction with industrial application experts, in this case resident Railcar Mechanical Engineers,
to provide specific guidance in the analysis (&#8220;human in the loop&#8221;). Within seconds of the railcar passing through the RIP,
a detailed report is sent to the customer where they are able to take action on identified issues. This solution has the potential to
transform the railroad industry immediately increasing safety, improving efficiency and reducing costs. The Company has already deployed
this system with several Class 1 railroads and anticipates an increased demand from transit and other railroad customers along with selected
government agencies that operate and/or manage rail traffic. The Company has deployed RIPs in Canada, Mexico and the United States and
anticipates expanding this solution into Europe, Asia and the Middle East in coming years.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has also developed the Automated Logistics
Information System (ALIS) which automates gatehouse operations where transport trucks enter and exit large logistics and intermodal facilities.
This solution incorporates a similar set of sensors, data processing and artificial intelligence to streamline the customer&#8217;s logistics
transactions and tracking and can also automate the security and safety inspection if called for. The Company has already deployed this
system with one large North American retailer and anticipates increased demand from other large retailers, railroad intermodal operators
and select government agencies that manage logistics and border crossing points. The Company is evaluating other solutions for moving
vehicles including aircraft, which could provide similar benefits in terms of safety and efficiency for required inspections as part of
an operations process.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 4 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We have developed two proprietary solutions that operate
our software and artificial intelligence. <span style="background-color: white"><b>cen</b></span><b><span style="color: #548DD4">t</span><span style="background-color: white">raco</span><sup>&#174;
</sup></b>is an Enterprise Information Management Software platform that consolidates data and events from multiple sources into a unified
and distributive user interface. Customized to the end user&#8217;s Concept of Operations (CONOPS), it provides improved situational awareness
and data visualization for operational objectives compared to traditional manual inspections. <span style="color: #548DD4"><b>true</b></span><b><span style="background-color: white">vue</span>360<sup>&#8482;
</sup></b>is our fully integrated platform that we utilize to develop and deploy Artificial Intelligence (AI) algorithms, including Machine
Learning, Computer Vision, Object Detection and Deep Neural Network-based processing for real-time applications.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">These same Artificial Intelligence applications have
begun to open up other opportunities for the Company to provide revenue producing solutions with potentially high market adoption.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In 2021, the Company ended support of its IT Asset
Management (ITAM) solution which cataloged results for data center asset inventory and audit services. We are currently evaluating using
our current operations experience within &#8220;edge data centers&#8221; (as deployed for our Railcar Inspection Portal) to drive additional
revenues within other markets requiring this type of solution although no specific offering has been developed at this time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In the last quarter of 2022, the Company elected not
to renew a support contract for its Integrated Correctional Automation System (iCAS) for one customer. The Company subsequently sold its
iCAS assets to a buyer during the second quarter of 2023 for $165,000 via a convertible note.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The year 2023 ushered in a new phase in the Company&#8217;s
development. Although we continue to see an extension of challenges faced in 2022, we also see positive changes and opportunities for
our business that will be discussed in greater detail herein. They include:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Introducing a new &#8220;subscription&#8221; based offering for access to data and images by a much broader target market including Class 1 railroads, railcar owners and lessors, and short-line railroads.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: -0.25in">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Owning and operating a network of RIPs with multiple subscribers outside of the Company&#8217;s traditional customer base.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: -0.25in">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Selling customized RIPs to Class 1, short-line and other industrial companies where specialized applications or routes demand a bespoke solution.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: -0.25in">&#160;&#160;</p>

<p style="font: 11pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"><span style="color: #548DD4"><b>duos</b></span><b>tech&#8482;</b></p>

<p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Railcar Inspection Portal</i> (<span style="font-family: Arial, Helvetica, Sans-Serif">r<span style="color: #548DD4">i</span>p</span><span style="font-family: Calibri, Helvetica, Sans-Serif; font-size: 11pt">&#174;</span>)</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Federal regulations require each railcar/train to
be inspected for mechanical defects prior to leaving a rail yard. Founded in 1934, the Association of American Railroads (AAR) is responsible
for setting the standards for the safety and productivity of the U.S./North American freight rail industry, and by extension, has established
the inspection parameters for the rail industry&#8217;s rolling stock. Also known as the &#8220;Why Made&#8221; codes, the AAR established
approximately 110 inspection points under its guidelines for mechanical inspections.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under current practice, inspections are conducted
manually, a very labor intensive and inefficient process that only covers a select number of inspection points and can take several hours
per train. We believe our Railcar Inspection Portal has the potential to reduce this inspection to minutes while the train is moving at
speed, improving safety, reducing dwell time and optimizing maintenance.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 5 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our system combines high-definition image and data
capture technologies with our AI-based analytics applications that are typically installed on active tracks located between two rail yards.
We inspect railcars traveling through our inspection portal at speeds of up to 70 mph and report mechanical anomalies detected by our
system to the inbound train yard, well ahead of the train entering the yard.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Currently, three Class 1 railroads and several transit
and international railroads use our <span style="font-family: Arial, Helvetica, Sans-Serif; font-size: 8pt">r<span style="color: #54A1D4">i</span>p</span><span style="font-family: Calibri, Helvetica, Sans-Serif">&#174;
</span>technology with one of those railroads broadly deploying the technology across its network.</p>

<p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company continues to expand its detection capabilities
through the development and integration of additional sensor technologies to include laser, infrared, thermal, sound and x-ray to process
AI-based analytics of inspection points. Currently the Company has a high-reliability catalog of over 48 artificial intelligence algorithms
which can be integrated into the RIP to enhance mechanical anomalies detections. These detections support railroads in the active maintenance
and overall safety of their railcar fleet and networks.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Markets</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We believe the opportunity for our Railcar Inspection
Portal business is substantial and continues to be our number one priority. We are currently engaged with the RIP solution with three
of seven Class 1 railroad operators with 13 systems already deployed across the North American rail network. Because of our early leadership
position, we have been able to accumulate experience and intellectual property that we believe would be time-consuming and expensive for
a new competitor to replicate. Furthermore, we believe we have the ability to upgrade and scale our solutions with additional technologies
in the future. We believe that the current market for our technologies is substantial. At the same time, we recognize that the technology
life cycle is fast and evolving. Potential competitors could move into this sector, and it is possible that some Class 1 railroads could
develop their own solutions that limit our total addressable market.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In late 2022, the Company announced it will pursue
a subscription platform for the RIPs. Under this new model, the Company will build, own and operate its RIP product and offer the data
access for each portal to potential customers. This expansion of the RIP offering would potentially open up the addressable market to
other railroads, railcar owners, and car lessors. This shift increases the pool of potential customers by lowering the entry point for
the RIP and would reshape the Company&#8217;s working capital needs to invest in the construction of a RIP ahead of customer revenue inflows.
The Company continues to explore this expansion on the long-term effects it may have on future cash flows.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Another market we are pursuing as our second priority
is using our Automated Logistics and Information Systems solution (<span style="font-family: Arial, Helvetica, Sans-Serif">a<span style="color: #548DD4">l</span>is<span style="font-size: 8pt"><b>&#8482;</b>)</span></span>.
Potential customers include commercial retail logistics and intermodal operators, Class 1 rail intermodal operators that are moving large
amounts of automobiles, and U.S. Government agencies such as the Department of Defense and the Department of Homeland Security. Today,
we currently have 20 production systems in use, but we believe the greenfield opportunity here to be substantial. We have identified over
900 lanes of traffic within nearly 300 facilities as potential business opportunities in the near-term.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Currently, we are focused on the North American market,
but plan to expand globally in the future with interest from Europe, Asia and the Middle East.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Patents and Trademarks</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company holds a number of patents and trademarks
for our technology solutions. We protect our intellectual property rights by relying on federal, state, and common law rights, as well
as contractual restrictions. We control access to our proprietary technology by entering into confidentiality and invention assignment
agreements with all of our employees and contractors, and confidentiality agreements with third parties. We also actively engage in monitoring
activities with respect to infringing uses of our intellectual property by third parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>


<!-- Field: Page; Sequence: 6 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Specific Areas of Competition</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">One of our primary commercial goals is to develop
innovative technology solutions and target potential &#8220;greenfield&#8221; market spaces in order to maximize our business footprint
and give us the ability to help define the market parameters for the future.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Other companies that participate in the visual and
optical (laser) based railcar inspection systems market include Wabtec (Beena Vision), KLD Labs, WID, IEM, and Camlin Rail. Some Class
1 railroads have stated that they are developing &#8220;in-house&#8221; solutions. We believe that Duos has a significant competitive
advantage in that we have multiple years of deployment experience, have access to millions of images where our RIP has performed scans
with AI analysis and in-house industry expertise to train our systems and make identification of common problems more automated.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our Automated Logistics Information System (ALIS)
also represents an opportunity to expand into a mature market that we believe has a significant technology gap.&#160; While most facilities,
such as distribution centers, that process commercial trucks in and out have sophisticated software management applications for logistics
control, they have most often not implemented an advanced gatehouse automation solution. Historically, this category was referred to as
&#8220;Automated Gate Systems&#8221; or AGS.&#160; The purpose of AGS technology is to streamline entry in to and exit out of facilities.&#160;
The marketplace for this was mostly seaports and intermodal transfer facilities and was relatively expensive technology to deploy.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Our Growth Strategy</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Vision</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company designs, develops, deploys and operates
intelligent technology solutions for inspecting and evaluating moving objects. Its technology application focus is within the rail and
intermodal markets which offers imaging-based automatic inspection and analysis for process control for industry with potential expansion
into other markets.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Objectives</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Improve our operational and technical execution, customer satisfaction and implementation speed.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Expand Rail Inspection Portal and Automated Logistics Information System with current and future customers in Rail, Logistics and U.S. Government sectors.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Offer both CAPEX (one-time sale) and Subscription pricing models that seek to increase recurring revenue and improve profitability.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Form strategic partnerships that improve market access and credibility.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Improve policy, processes, and toolsets to become a viable platform for internal growth and for mergers and acquisitions.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Thoughtfully execute mergers and acquisitions to expand offerings and/or capabilities.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Promote a performance-based work force where employees enjoy their work and are incentivized to excel and innovate.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>


<!-- Field: Page; Sequence: 7 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Organic Growth</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our organic growth strategy is to continue our focus
and prioritization in the rail, logistics and intermodal market space. In this regard, the Company has made significant changes in the
senior management team to include a new Chief Executive Officer, who joined the Company in September 2020 and has years of experience
successfully leading start-up and turn-around companies. In addition, a key account executive from one of Duos&#8217; competitors joined
the team during late 2022 to support the continued revenue growth of the business bringing significant sales experience focused around
the rail market. In the third quarter of 2023, the Company also brought on a new Chief Commercial Officer bringing significant experience
from the sales and operations aspects of the intermodal and power industries. In 2021, the Company also hired a new Chief Technology Officer
bringing 25 years of experience in designing and delivering value driven technologies. Our new CTO has already led the team through instrumental
changes to its approach to software and artificial intelligence development. The team also saw a change in CFO in late 2022 with the new
CFO bringing significant experience in growth for asset-intensive businesses which aligns with the subscription format the Company will
expand into.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">The new leadership team&#8217;s
focus is to improve operational and technical execution which will in turn enable the commercial side of the business to expand RIP and
ALIS delivery into existing and new customers. Even though supply chain issues are expected to continue in 2024, the Company&#8217;s
primary customers have indicated readiness to order more equipment and services based upon the Company&#8217;s current performance and
the new subscription offerings expands the universe of potential customers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">Additionally, the CEO has
directed that the Company make continual engineering and software upgrades to the RIP to meet anticipated Federal Railroad Association
(FRA) and Association of American Railroad (AAR) standards.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Manufacturing and Assembly</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company designs and develops technology solutions
using a combination of in-house fabrication, commercial off-the-shelf technology, and outsourced manufacturing. On-site installations
are performed using a combination of in-house project managers and engineers and using third-party sub-contractors as needed. Throughout
the process of design, develop, deploy and operate, the Company maintains responsibility for all aspects. Our internal manufacturing operations
consist primarily of materials procurement, assembly, testing and quality control by our engineers. If not manufactured internally, we
use third-party manufacturing partners to produce our hardware related components and hardware products and we most often complete final
assembly, testing and quality control processes for these components and products. Our manufacturing processes are based on standardization
of components across product types, centralization of assembly and distribution centers, and a &#8220;build-to-order&#8221; methodology
in which products generally are built only after customers have placed firm orders. For most of our hardware products, we have existing
alternate sources of supply.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For 2024 and possibly beyond, we expect to face significant
challenges with macro-economic impacts, specifically inflation and supply chain disruption. Although these started to be identified in
late 2021, we believe they continue to manifest themselves in ways that could challenge our business growth in the future. Specifically,
the ability to source key components and certain implementation services will dictate just how quickly the Company can meet desired installation
deadlines. In the industries in which we operate, the time from concept to contract can be substantial. Although we are now adapting to
these challenges, previous bids that have been submitted could be challenging to execute within the financial framework and execution
times originally envisaged. We continue to have dialogue with our customers regarding potential price increases and implementation delays,
but we may suffer some economic impacts as a result of this. Revenue recognition could be delayed as a result of these factors and profitability
could be impacted due to higher costs for materials and other services. The Company will continue to monitor the situation and update
shareholders as the situation unfolds.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Research and Development </i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s R&amp;D and software development
teams design and develop all systems and software applications with a combination of full-time in-house software engineers and outside
contractors. Internal development allows us to maintain technical control over the design and development of our products. Rapid technological
advances in hardware and software development, evolving standards in computer hardware and software technology, and changing customer
requirements characterize the markets in which we compete. We plan to continue to dedicate significant resources to research and development
efforts, including software development, to maintain and improve our current product and services offerings.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>


<!-- Field: Page; Sequence: 8 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Government Regulations</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has worked with various agencies of the
federal government for more than 10 years including the Department of Homeland Security (&#8220;DHS&#8221;). When our solutions have been
deployed into these agencies, they meet specific requirements for certification, safety and security that are stipulated in requirements
and contract documents. The Company is currently competing for other government related work and strictly follows the rules and regulations
outlined in the Federal Acquisition Regulations.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s primary customers are all
governed by regulations related to the safe and effective transportation of goods and passengers, primarily by rail, but in future
scenarios by air, road and sea. While changes in the regulatory environment could impact the Company in future years, we believe any
changes will be overall positive for the Company. We continuously review potential changes in the regulatory environment and
maintain contact with key personnel at certain agencies including the Federal Railroad Administration (FRA), the Transportation
Security Administration (TSA) as well as the DHS previously mentioned. We expect to develop similar relationships with governmental
agencies in target markets both in the US and internationally. At this time, we believe our offerings are complementary to the
current and evolving standards and that we will adapt to any new regulations as they are promulgated.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Employees</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We have a current staff of 71 employees, of which
66 are full-time, the majority of which work in the Jacksonville area, none of which are subject to a collective bargaining agreement.
We have not experienced any work stoppages and we consider our relationship with our employees to be good.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_002"></span><b>Item 1A. Risk Factors.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Risks Related to Our Company and Business</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>The nature of the technology management platforms
utilized by us are complex and highly integrated, and if we fail to successfully manage releases or integrate new solutions, it could
harm our revenues, operating income, and reputation.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The technology platforms developed and designed by
us accommodate integrated applications that include our own developed technology and third-party technology, thereby substantially increasing
their functionality.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Due to this complexity and the condensed development
cycles under which we operate, we may experience errors in our software, corruption or loss of our data, or unexpected performance issues
from time to time. For example, our solutions may face interoperability difficulties with software operating systems or programs being
used by our customers, or new releases, upgrades, fixes or the integration of acquired technologies may have unanticipated consequences
on the operation and performance of our other solutions. If we encounter integration challenges or discover errors in our solutions late
in our development cycle, it may cause us to delay our launch dates. Any major integration or interoperability issues or launch delays
could have a material adverse effect on our revenues, operating income and reputation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 9 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>We face risks as a result of the coronavirus
(COVID-19 pandemic) lingering effects which could significantly disrupt our research and development, operations, sales, and financial
results.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our business has been adversely impacted by the effects
of the COVID-19 pandemic. In addition to global macroeconomic effects, the COVID-19 pandemic and related adverse public health developments
caused disruption and/or delays to our operations and sales activities. Our third-party manufacturers and our customers were disrupted
by worker absenteeism, quarantines and restrictions on employees&#8217; ability to work, office and factory closures, disruptions to ports
and other shipping infrastructure, border closures, or other travel or health-related restrictions. Depending on the magnitude of such
effects on our activities or the operations of our third-party manufacturers and third-party distributors, the supply of our products,
in some cases, continue to be delayed, which could continue to adversely affect our business, operations and customer relationships. In
addition, the pandemic or other disease outbreak have had and may continue to have over the longer term a material adverse effect on the
economies and financial markets of many countries, resulting in an economic downturn that will affect demand for our products and services
and impact our operating results. There can be no assurance that any decrease in sales resulting from the pandemic slowdown will be offset
by increased sales in subsequent periods. Although the magnitude of the impact of the COVID-19 outbreak on our business and operations
remains uncertain, the continued spread of COVID-19 and the related public health measures and travel and business restrictions may adversely
impact our business, financial condition, operating results and cash flows. In addition, w<span style="color: #0E0E0E">e have experienced
and may in the future experience disruptions to our business operations resulting from quarantines, self-isolations, or other restrictions
on the ability of our employees to perform their jobs that may impact our ability to develop and design our products and services in a
timely manner or meet required milestones or customer commitments. </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: #0E0E0E">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: #0E0E0E"><b><i>We may be adversely affected
by the effects of inflation and supply chain disruption</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: #0E0E0E"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: #0E0E0E">Our business operates in an environment
of long bid to contract award cycles. Our customer&#8217;s bid requirements are such that firm pricing is expected on much or all of our
proposals and as such we must commit to certain commercial terms and conditions such as pricing. In addition, the Company hires employees
and contractors to perform most (if not all) of the work required to complete a contract. We are beginning to experience the impacts of
inflation upon previously forecasted costs including employees that require higher salaries, contractors demanding higher prices for jobs
and higher costs for materials necessary to complete contracts. While we endeavor to charge additional costs to our customers, in some
cases this may not be possible contractually and as a result our profitability may suffer as a result. Although we anticipate these effects
to be mitigated in the long term, we cannot be assured that this will be possible in all or any instances and as such our revenue, profitability
and growth prospects may suffer as a result of this.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: #0E0E0E">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Current supply chain issues continue to extend deadlines
for shipment of key components used in our technology systems. The effect of this may be to delay revenue recognition. W<span style="color: #0E0E0E">e
have experienced and expect to continue to experience delays to our business operations resulting from lack of materials availability,
delays in securing key components such as video cameras requiring certain computer chips, and other material and personnel shortages that
may impact our ability to implement our products and services in a timely manner or meet required milestones or customer commitments.&#160;
In addition, higher costs for travel </span>may adversely impact our business, financial condition, operating results and cash flows.
This has made it necessary for the Company to order certain components prior to receiving a contract to ensure we have key components
available when necessary to satisfy future contract obligations.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: #0E0E0E">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Our products and services may fail to keep pace
with rapidly changing technology and evolving industry standards.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The market in which we operate is characterized by
rapid, and sometimes disruptive, technological developments, evolving industry standards, frequent new product introductions and enhancements
and changes in customer requirements. In addition, both traditional and new competitors are investing heavily in our market areas and
competing for customers. As next-generation video analytics technology continues to evolve, we must keep pace in order to maintain or
expand our market position. We continue to introduce new product offerings focused on automating mechanical and security inspections in
the rail, logistics, intermodal and government sectors as potential revenue drivers. If we are not able to successfully add staff resources
with sufficient technical skills to develop and bring these new products to market in a timely manner, achieve market acceptance of our
products and services or identify new market opportunities for our products and services, our business and results of operations may be
materially and adversely affected.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>The market opportunity for our products and
services may not develop in the ways that we anticipate.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The demand for our products and services could change
quickly and in ways that we may not&#160;anticipate.&#160;Our operating results may be adversely affected if the market opportunity for
our products and services does not develop in the ways that we anticipate or if other technologies become more accepted or standard in
our industry or disrupt our technology platforms.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>


<!-- Field: Page; Sequence: 10 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Our revenues are dependent on general economic
conditions and the willingness of enterprises to invest in technology.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We believe that operators in the business sectors
we are focused on continue to be cautious about sustained economic growth and seek to maintain or improve profitability through cost control
and constrained spending. While our core technologies are designed to address cost reduction, other factors may cause companies to delay
or cancel capital projects, including the implementation of our products and services. In addition, the business sectors in which we are
focused are under financial pressure to reduce capital investment which may make it more difficult for us to close large contracts in
the immediate future. We believe there is a growing market trend toward more customers exploring operating expense models as opposed to
capital expense models for procuring technology. We believe the market trend toward operating expense models will continue as customers
seek ways of reducing their overhead and other costs. All of the foregoing may result in continued pressure on our ability to increase
our revenue and may potentially create competitive pricing pressures and price erosion. If these or other conditions limit our ability
to grow revenue or cause our revenue to decline our operating results may be materially and adversely affected.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Our working capital profile may shift over time
to require additional investment.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Historically, the Company has leveraged significant
milestone payments at a contract onset to fund the purchase of required materials. Expansion into a subscription format would allow the
Company to potentially transact faster and more routinely with a larger customer base than it has previously had. In certain instances
where the Company would build, own and operate its own assets, it may require a different working capital and capitalization strategy
whereby the Company will be required to make upfront investments without significant customer milestone payments to offset the investment.
The Company believes that this presents a short-term capital risk but will, long-term, improve the overall performance of the business.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Some of our competitors are larger and have
greater financial and other resources than we do.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Some of our product offerings compete and will compete
with other similar products from our competitors. These competitive products could be marketed by well-established, successful companies
that possess greater financial, marketing, distributional, personnel and other resources than we possess. In certain instances, competitors
with greater financial resources also may be able to enter a market in direct competition with us offering attractive marketing tools
to encourage the sale of products that compete with our products or present cost features that our target end users may find attractive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>We have a history of losses and our growth plans
may lead to additional losses and negative operating cash flows in the future.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our accumulated deficit was approximately $64 million
as of December 31, 2023. Our operating losses may continue as we continue to expend resources to further develop and enhance our technology
offering, to complete prototyping for&#160;proof-of-concept, obtain regulatory clearances or approvals as required, expand our business
development activities and finance capabilities and conduct further research and development. We also expect to experience negative cash
flow in the short-term until our revenues and margins increase at a rate greater than our expenses, which may not occur.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>We may be unable to protect our intellectual
property, which could impair our competitive advantage, reduce our revenue, and increase our costs.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our success and ability to compete depend in part
on our ability to maintain the proprietary aspects of our technologies and products. We rely on a combination of trade secrets, patents,
copyrights, trademarks, confidentiality agreements, and other contractual provisions to protect our intellectual property, but these measures
may provide only limited protection. We customarily enter into written confidentiality and non-disclosure agreements with our employees,
consultants, customers, manufacturers, and other recipients of information about our technologies and products and assignment of invention
agreements with our employees and consultants. We may not always be able to enforce these agreements and may fail to enter into any such
agreement in every instance when appropriate. We license from third-parties certain technology used in and for our products. These third-party
licenses are granted with restrictions; therefore, such third-party technology may not remain available to us on terms beneficial to us.
Our failure to enforce and protect our intellectual property rights or obtain from third parties the right to use necessary technology
could have a material adverse effect on our business, operating results, and financial condition. In addition, the laws of some foreign
countries do not protect proprietary rights as fully as do the laws of the United States.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Patents may not be issued from the patent applications
that we have filed or may file in the future. Our issued patents may be challenged, invalidated, or circumvented, and claims of our patents
may not be of sufficient scope or strength, or issued in the proper geographic regions, to provide meaningful protection or any commercial
advantage. We have registered certain of our trademarks in the United States and other countries. We cannot assure you that we will obtain
registrations of principal or other trademarks in key markets in the future. Failure to obtain registrations could compromise our ability
to protect fully our trademarks and brands and could increase the risk of challenge from third parties to our use of our trademarks and
brands.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>


<!-- Field: Page; Sequence: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>We may be required to incur substantial expenses
and divert management attention and resources in defending intellectual property litigation against us.</i></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We cannot be certain that our technologies and products
do not and will not infringe on issued patents or other proprietary rights of others. While we are not currently subject to any infringement
claim, any future claim, with or without merit, could result in significant litigation costs and diversion of resources, including the
attention of management, and could require us to enter into royalty and licensing agreements, any of which could have a material adverse
effect on our business. We may not be able to obtain such licenses on commercially reasonable terms, if at all, or the terms of any offered
licenses may be unacceptable to us. If forced to cease using such technology, we may be unable to develop or obtain alternate technology.
Accordingly, an adverse determination in a judicial or administrative proceeding, or failure to obtain necessary licenses, could prevent
us from manufacturing, using, or selling certain of our products, which could have a material adverse effect on our business, operating
results, and financial condition.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Furthermore, parties making such claims could secure
a judgment awarding substantial damages, as well as injunctive or other equitable relief, which could effectively block our ability to
make, use, or sell our products in the United States or abroad. Such a judgment could have a material adverse effect on our business,
operating results, and financial condition. In addition, we are obligated under certain agreements to indemnify the other party in connection
with infringement by us of the proprietary rights of third parties. In the event that we are required to indemnify parties under these
agreements, it could have a material adverse effect on our business, financial condition, and results of operations.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>We may incur substantial expenses and divert
management resources in prosecuting others for their unauthorized use of our intellectual property rights.</i></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Other companies, including our competitors, may develop
technologies that are similar or superior to our technologies, duplicate our technologies, or design around our patents, and may have
or obtain patents or other proprietary rights that would prevent, limit, or interfere with our ability to make, use, or sell our products.
Although we do not have operations outside North America at this time, we may compete for contracts in other countries in the future.
Effective intellectual property protection may be unavailable, or limited, in some foreign countries in which we may do business, such
as China. Unauthorized parties may attempt to copy or otherwise use aspects of our technologies and products that we regard as proprietary.
Our means of protecting our proprietary rights in the United States or abroad may not be adequate or competitors may independently develop
similar technologies. If our intellectual property protection is insufficient to protect our intellectual property rights, we could face
increased competition in the market for our technologies and products.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Should any of our competitors file patent applications
or obtain patents that claim inventions also claimed by us, we may choose to participate in an interference proceeding to determine the
right to a patent for these inventions, because our business would be harmed if we fail to enforce and protect our intellectual property
rights. Even if the outcome is favorable, this proceeding could result in substantial cost to us and disrupt our business.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In the future, we also may need to file lawsuits to
enforce our intellectual property rights, to protect our trade secrets, or to determine the validity and scope of the proprietary rights
of others. This litigation, whether successful or unsuccessful, could result in substantial costs and diversion of resources, which could
have a material adverse effect on our business, financial condition, and results of operations.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>


<!-- Field: Page; Sequence: 12 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>If we are unable to apply technology effectively
in driving value for our clients through technology-based solutions or gain internal efficiencies and effective internal controls through
the application of technology and related tools, our operating results, client relationships, growth and compliance programs could be
adversely affected.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our future success depends, in part, on our ability
to anticipate and respond effectively to the threat and opportunity presented by new technology disruption and developments. These may
include new software applications or related services based on artificial intelligence, machine learning, or robotics. We may be exposed
to competitive risks related to the adoption and application of new technologies by established market participants or new entrants, start-up
companies and others. These new entrants are focused on using technology and innovation, including artificial intelligence, to simplify
and improve the client experience, increase efficiencies, alter business models and effect other potentially disruptive changes in the
industries in which we operate. We must also develop and implement technology solutions and technical expertise among our employees that
anticipate and keep pace with rapid and continuing changes in technology, industry standards, client preferences and internal control
standards. We may not be successful in anticipating or responding to these developments on a timely and cost-effective basis and our ideas
may not be accepted in the marketplace. Additionally, the effort to gain technological expertise and develop new technologies in our business
requires us to incur significant expenses. If we cannot offer new technologies as quickly as our competitors, or if our competitors develop
more cost-effective technologies or product offerings, we could experience a material adverse effect on our operating results, client
relationships, growth and compliance programs.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We are dependent on information technology networks
and systems to securely process, transmit and store electronic information and to communicate among our locations around North America
and with our people, clients, partners and vendors. As the breadth and complexity of this infrastructure continues to grow, including
as a result of the use of mobile technologies, social media and cloud-based services, the risk of security breaches and cyberattacks increases.
Such breaches could lead to shutdowns or disruptions of or damage to our systems and those of our clients, alliance partners and vendors,
and unauthorized disclosure of sensitive or confidential information, including personal data. In the past, we have experienced data security
breaches resulting from unauthorized access to our and our service providers&#8217; systems, which to date have not had a material impact
on our operations, however, there is no assurance that such impacts will not be material in the future.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In providing services and solutions to clients, we
may be required to manage, utilize and store sensitive or confidential client data, possibly including personal data, and we anticipate
these activities to increase, including through the use of artificial intelligence, the internet of things and analytics. Unauthorized
disclosure of sensitive or confidential client data, whether through systems failure, employee negligence, fraud, misappropriation, or
other intentional or unintentional acts, could damage our reputation, could cause us to lose clients and could result in significant financial
exposure. Similarly, unauthorized access to our or through our or our service providers&#8217; information systems or those we develop
for our clients, whether by our employees or third parties, including a cyberattack by computer programmers, hackers, members of organized
crime and/or state-sponsored organizations, who continuously develop and deploy viruses, ransomware or other malicious software programs
or social engineering attacks, could result in negative publicity, significant remediation costs, legal liability, damage to our reputation
and government sanctions and could have a material adverse effect on our results of operations. Cybersecurity threats are constantly expanding
and evolving, thereby increasing the difficulty of detecting and defending against them and maintaining effective security measures and
protocols.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>We depend on key personnel who would be difficult
to replace, and our business plan will likely be harmed if we lose their services or cannot hire additional qualified personnel.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our success depends substantially on the efforts and
abilities of our senior management and certain key personnel. The competition for qualified management and key personnel, especially engineers,
is intense. Although we maintain non-competition and non-disclosure covenants with all our key personnel, we do not have employment agreements
with most of them. The loss of services of key employees, or the inability to hire, train, and retain key personnel, especially engineers
and technical support personnel, could delay the development and sale of our products, disrupt our business, and interfere with our ability
to execute our business plan.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 13 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Due to our dependence on a limited number of
customers, we are subject to a concentration of credit risk.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For the year ended December 31, 2023, three
customers accounted for 48%, 30%, and 11% of revenues. For the year ended December 31, 2022, four customers accounted for
42%, 18%, 14% and 14% of revenues. In all cases, there are no minimum contract values stated. Each contract covers an agreement to
deliver a rail inspection portal which, once accepted, must be paid in full, with 30% or more being due and payable prior to
delivery. The balances of the contracts are for service and maintenance which is paid annually in advance with revenues recorded
ratably over the contract period. </p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023, two customers accounted
for 83%, and 11% of our accounts receivable. In the case of insolvency by one of our significant customers, accounts receivable with
respect to that customer might not be collectible, might not be fully collectible, or might be collectible over longer than normal
terms, each of which could adversely affect our financial position. Additionally, our largest customer accounted for
approximately&#160;48%&#160;of our total revenues for the year ended December 31, 2023. This concentration of credit risk makes us
more vulnerable economically. The loss of any of these customers could materially reduce our revenues and net income, which could
have a material adverse effect on our business.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Risks Related to Our Common Stock</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><i>There is currently not an active liquid trading market for the Company&#8217;s
common stock.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our common stock is quoted on the Nasdaq Capital Market
tier under the symbol &#8220;DUOT&#8221;. However, there is currently limited active trading in our common stock. Although there are periodic
volume spikes from time to time, we cannot give an assurance that a consistent, active trading market will develop. If an active market
for our common stock develops, there is a significant risk that our stock price may fluctuate in the future in response to any of the
following factors, some of which are beyond our control:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="vertical-align: top; width: 2%">&#160;</td>
    <td style="vertical-align: top; width: 2%"><span style="font-family: Symbol">&#183;</span></td>
    <td style="width: 96%; text-align: justify">Variations in our quarterly operating results;</td></tr>
  <tr>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Announcements that our revenue or income are below analysts&#8217;&#160;expectations;</td></tr>
  <tr>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">General economic downturns;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Sales of large blocks of our common stock; and</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">Announcements by us or our competitors of significant contracts, acquisitions, strategic partnerships, joint ventures or capital commitments.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 14 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr>
    <td style="width: 100%; text-align: center">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>You may experience dilution of your ownership
interest due to future issuances of our securities.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We are in a capital-intensive business, and we may
not have sufficient funds to finance the growth of our business or to support our projected capital expenditures. As a result, we may
require additional funds from future equity or debt financings, including potential sales of preferred shares or convertible debt, to
complete the development of new projects and pay the general and administrative costs of our business. We may in the future issue our
previously authorized and unissued securities, resulting in the dilution of the ownership interests of holders of our common stock. We
are currently authorized to issue 500,000,000 shares of common stock and 10,000,000 shares of preferred stock. We may also issue additional
shares of common stock or other securities that are convertible into or exercisable for common stock in future public offerings or private
placements for capital raising purposes or for other business purposes. The future issuance of a substantial number of shares of common
stock into the public market, or the perception that such issuance could occur, could adversely affect the prevailing market price of
our common shares. A decline in the price of our common stock could make it more difficult to raise funds through future offerings of
our common stock or securities convertible into common stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Our Board of Directors may issue and fix the
terms of shares of our Preferred Stock without stockholder approval, which could adversely affect the voting power of holders of our Common
Stock or any change in control of our Company.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our Articles of Incorporation authorize the issuance
of up to 10,000,000 shares of "blank check" preferred stock, with such designations rights and preferences as may be determined
from time to time by the Board of Directors. Our Board of Directors is empowered, without shareholder approval, to issue shares of preferred
stock with dividend, liquidation, conversion, voting or other rights which could adversely affect the voting power or other rights of
the holders of our common stock. In the event of such issuances, the preferred stock could be used, under certain circumstances, as a
method of discouraging, delaying, or preventing a change in control of our Company.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>We do not expect to pay dividends and investors
should not buy our common stock expecting to receive dividends.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We do not anticipate that we will declare or pay any
dividends in the foreseeable future. Consequently, you will only realize an economic gain on your investment in our common stock if the
price appreciates. You should not purchase our common stock expecting to receive cash dividends. Accordingly, our stockholders will not
realize a return on their investment unless the trading price of our common stock appreciates, which is uncertain and unpredictable. In
addition, because we do not pay dividends, our common stock may be less attractive, which may cause us to have trouble raising additional
funds which could affect our ability to expand our business operations.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><i>Our operating results are likely to fluctuate from period to period.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">We anticipate that there may be significant fluctuations in our
future operating results. Potential causes of future fluctuations in our operating results may include:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 2%">&#160;</td>
    <td style="width: 2%"><span style="font-family: Symbol">&#183;</span></td>
    <td style="width: 96%">Period-to-period fluctuations in financial results</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td>Issues in manufacturing products</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td>Unanticipated potential product liability claims</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td>The introduction of technological innovations or new commercial products by competitors</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td>The entry into, or termination of, key agreements, including key strategic alliance agreements</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td>The initiation of litigation to enforce or defend any of our intellectual property rights</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td>Regulatory changes</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Symbol">&#183;</span></td>
    <td>Failure of any of our products to achieve commercial success</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 15 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><i>We are subject to the Florida anti-takeover provisions, which may
prevent you from exercising a vote on business combinations, mergers or otherwise.</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As a Florida corporation, we are subject to certain
anti-takeover provisions that apply to public corporations under Florida law. Pursuant to Section 607.0901 of the Florida Business Corporation
Act, or the Florida Act, a publicly held Florida corporation, under certain circumstances, may not engage in a broad range of business
combinations or other extraordinary corporate transactions with an interested shareholder without the approval of the holders of two-thirds
of the voting shares of the corporation (excluding shares held by the interested shareholder).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">An interested shareholder is defined as a person who
together with affiliates and associates beneficially owns more than 15% of a corporation&#8217;s outstanding voting shares. We have not
made an election in our amended Articles of Incorporation to opt out of Section 607.0901.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In addition, we are subject to Section 607.0902 of
the Florida Act which prohibits the voting of shares in a publicly held Florida corporation that are acquired in a control-share acquisition
unless (i) our board of directors approved such acquisition prior to its consummation or (ii) after such acquisition, in lieu of prior
approval by our board of directors, the holders of a majority of the corporation&#8217;s voting shares, exclusive of shares owned by officers
of the corporation, employee directors or the acquiring party, approve the granting of voting rights as to the shares acquired in the
control-share acquisition. A control-share acquisition is defined as an acquisition that immediately thereafter entitles the acquiring
party to 20% or more of the total voting power in an election of directors.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_003"></span><b>Item 1B. Unresolved Staff Comments.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">None.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_004"></span><b>Item 1C. Cybersecurity</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Risk Management</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We have in place certain infrastructure, systems,
policies, and procedures that are designed to proactively and reactively address circumstances that arise when an unexpected cybersecurity
incident occurs. These include processes for assessing, identifying, and managing material risks from cybersecurity threats. Our internal
procedures dictate that we evaluate and evolve our security measures as appropriate. Identifying, assessing, and managing cybersecurity
risk is integrated into our overall internal controls approach. Additionally, we have in place cybersecurity and data privacy policies
designed to (a) respond to new requirements in global privacy laws and (b) prevent, detect, respond to, mitigate and recover from identified
and significant cybersecurity threats. Refer to &#8220;Item 1A. Risk Factors&#8221; in this annual report on Form 10-K for additional
information about cybersecurity-related risks.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Governance</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the first quarter of 2024, information security
matters reporting, including managing and assessing risks from cybersecurity threats, have been established under the oversight of the
Audit Committee of the Board or the &#8220;Audit Committee.&#8221; The Audit Committee also reviews the adequacy and effectiveness of
the Company&#8217;s information security policies and practices and the internal controls regarding information security risks. Our security
efforts are managed by a team of IT professionals who oversee the daily responsibilities of managing cybersecurity identification and
threats. Going forward, the Audit Committee receives regular information security updates from management, including our Chief Technology
Officer, who the board designated as the Chief Information Security Officer. The management team has established a quarterly rhythm to
keep the Board and Audit Committee apprised of identified risks, ongoing risk management and changes in procedure to ensure transparency
in the Company&#8217;s governance over cybersecurity.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_005"></span><b>Item 2. Properties.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On July 26, 2021, the Company entered a new operating lease agreement
of office and warehouse combination space of 40,000 square feet with the lease commencing on November 1, 2021 and ending May 31, 2032,
This additional space allows for resource growth and engineering efforts for operations before deploying to the field. The rent for the
first twelve months of the term were calculated as rentable base space on 30,000 square feet. The rent is subject to an annual escalation
of 2.5%, beginning December 1, 2022. The Company made a security deposit payment in the amount of $600,000 on July 26, 2021. The Company
has applied the FASB issued ASU No. 2016-02 Leases (Topic 842) (&#8220;ASU 2016-02&#8221;) in the fourth quarter of 2021</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company now has a total of office and warehouse
space of 40,000 square feet.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Rental expense for the office lease during 2023 and
2022 was $781,638 and $782,591, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<!-- Field: Page; Sequence: 16 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_006"></span><b>Item 3. Legal Proceedings.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">From time to time, we may be involved in litigation
relating to claims arising out of our operations in the normal course of business. We are currently not involved in any litigation that
we believe could have a material adverse effect on our financial condition or results of operations. There is no action, suit, proceeding,
inquiry or investigation before or by any court, public board, government agency, self-regulatory organization or body pending or, to
the knowledge of the executive officers of our Company or any of our subsidiaries, threatened against or affecting our Company, our common
stock, any of our subsidiaries or any of our Company&#8217;s or our subsidiaries&#8217; officers or directors in their capacities as such,
in which an adverse decision could have a material adverse effect.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_007"></span><b>Item 4. Mine Safety Disclosures.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Not Applicable.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 17 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>PART II</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_008"></span><b>Item 5. Market for Common Equity, Related Stockholder
Matters and Issuer Purchases of Equity Securities.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify; text-indent: -0.25in"><b>Market Information</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our common stock is quoted on the Nasdaq Capital Markets
(&#8220;Nasdaq&#8221;) under the trading symbol &#8220;DUOT&#8221;.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Authorized Capital</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company is authorized to issue an aggregate number
of 510,000,000 shares of capital stock, of which 10,000,000 shares are blank check preferred stock, $0.001 par value per share, and 500,000,000
shares are common stock, $0.001 par value per share.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Series A Redeemable Convertible Preferred Stock</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our board of directors has designated 500,000 of the
10,000,000 authorized shares of preferred stock as Series A Convertible Preferred Stock. As of December 31, 2023 and 2022, we have no
shares of Series A Convertible Preferred Stock issued and outstanding, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Series B Convertible Preferred Stock</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our board of directors has designated 15,000 of the
10,000,000 authorized shares of preferred stock as Series B Convertible Preferred Stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Each share of Series B Convertible Preferred
Stock was convertible at any time at the holder&#8217;s option into a number of shares of common stock equal to $1,000 divided by the
conversion price of $7.00 per share. Notwithstanding the foregoing, we could not effect any conversion of Series B Convertible Preferred
Stock, with certain exceptions, to the extent that, after giving effect to an attempted conversion, the holder of shares of Series B Convertible
Preferred Stock (together with such holder&#8217;s affiliates, and any persons acting as a group together with such holder or any of such
holder&#8217;s affiliates) would beneficially own a number of shares of our common stock in excess of 4.99% (or, at the election of the
purchaser, 9.99%) of the shares of our common stock then outstanding after giving effect to such conversion. Holders of Series B Convertible
Preferred Stock voted on an as converted basis on all matters on which the holders of common stock are entitled to vote, subject to beneficial
ownership limitations. As of December 31, 2023 and 2022, there are 0 and 0 shares of Series B Convertible Preferred Stock issued and outstanding,
respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify; text-indent: -0.25in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Series C Convertible Preferred Stock</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On February 26, 2021, the Company entered into
a Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with certain existing investors in the Company (the &#8220;Purchasers&#8221;).
Pursuant to the Purchase Agreement, the Purchasers purchased 4,500 shares of a newly authorized Series C Convertible Preferred Stock (the
&#8220;Series C Convertible Preferred Stock&#8221;), and the Company received proceeds of $4,500,000. The Purchase Agreement contains
customary representations, warranties, agreements and indemnification rights and obligations of the parties. As of December 31, 2023 and
2022, there are 0 and 0 shares of Series C Convertible Preferred Stock issued and outstanding, respectively.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under the Purchase Agreement, the Company was
required to hold a meeting of shareholders at the earliest practical date, and such meeting occurred on July 15, 2021. Nasdaq Marketplace
Rule 5635(d) limits the number of shares of common stock (or securities that are convertible into common stock) that can be issued in
a transaction other than a public offering without shareholder approval. The rule required shareholder approval for us to issue shares
of common stock underlying the Series C Preferred Stock which equal 20% or more of our Common Stock outstanding before the issuance at
a price less than the lower of the price immediately preceding the signing of the Purchase Agreement or the average of the price for the
five trading days immediately preceding such signing. We received the shareholder approval at the meeting held on July 15, 2021.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 18 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with the Purchase Agreement, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company filed
with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of Series
C Convertible Preferred Stock were convertible. The Company caused the registration statement to be declared effective on June 3, 2021.
The Registration Rights Agreement contains customary representations, warranties, agreements and indemnification rights and obligations
of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s Board of Directors has designated
5,000 shares as the Series C Convertible Preferred Stock. Each share of the Series C Convertible Preferred Stock has a stated value of
$1,000. The holders of the Series C Convertible Preferred Stock, the holders of the common stock and the holders of any other class or
series of shares entitled to vote with the common stock shall vote together as one class on all matters submitted to a vote of shareholders
of the Company. Each share of Series C Convertible Preferred Stock had 172 votes (subject to adjustment); provided that in no event may
a holder of Series C Convertible Preferred Stock be entitled to vote a number of shares in excess of such holder&#8217;s Beneficial Ownership
Limitation (as defined in the Certificate of Designation). Each share of Series C Convertible Preferred Stock was convertible, at any
time and from time to time, at the option of the holder, into that number of shares of common stock (subject to the Beneficial Ownership
Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price, which was $5.50 (subject to adjustment).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline">Series D Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 28, 2022 the Company amended its articles
of incorporation to designate 4,000 shares as the Series D Convertible Preferred Stock (the &#8220;Series D Convertible Preferred Stock&#8221;).
Each share of the Series D Convertible Preferred Stock has a stated value of $1,000. The holders of the Series D Convertible Preferred
Stock, the holders of the common stock and the holders of any other class or series of shares entitled to vote with the common stock shall
vote together as one class on all matters submitted to a vote of shareholders of the Company. Each share of Series D Convertible Preferred
Stock has 333 votes (subject to standard anti-dilution adjustment); provided that in no event may a holder of Series D Convertible Preferred
Stock be entitled to vote a number of shares in excess of such holder&#8217;s Beneficial Ownership Limitation (as defined in the Certificate
of Designation and as described below). Each share of Series D Convertible Preferred Stock is convertible, at any time and from time to
time, at the option of the holder, into that number of shares of common stock (subject to the Beneficial Ownership Limitation) determined
by dividing the stated value of such share ($1,000) by the conversion price, which is $3.00 (subject to adjustment). The Company shall
not effect any conversion of the Series D Convertible Preferred Stock, and a holder shall not have the right to convert any portion of
the Series D Convertible Preferred Stock, to the extent that after giving effect to the conversion sought by the holder such holder (together
with such holder&#8217;s Attribution Parties (as defined in the Certificate of Designation)) would beneficially own more than 4.99% (or
upon election by a holder, 19.99%) of the number of shares of common stock outstanding immediately after giving effect to the issuance
of shares of common stock issuable upon such conversion (the &#8220;Beneficial Ownership Limitation&#8221;). All holders of the Series
D Preferred Stock have elected the 19.99% Beneficial Ownership Limitation. The Company reserves and keeps available out of its authorized
and unissued Common Stock, solely for the issuance upon the conversion of the Series D Convertible Preferred Stock, such a number of shares
of Common Stock as shall from time to time be issuable upon the conversion of all of the shares of the Series D Convertible Preferred
Stock then outstanding. Additionally, the Series D Convertible Preferred Stock does not have the right to dividends (other than any dividends
payable on the common stock on an as converted basis) and in the event of an involuntary liquidation, the Series D shares shall be treated
as a pro rata equivalent of common stock outstanding at the date of the liquidation event and have no liquidation preference.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 30, 2022, the Company entered into a
Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with certain existing investors in the Company (the &#8220;Purchasers&#8221;).
Pursuant to the Purchase Agreement, the Purchasers purchased 999 shares of the newly authorized Series D Convertible Preferred Stock, and the Company received proceeds of $999,000. The Purchase Agreement contains customary
representations, warranties, agreements and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On October 29, 2022, the Company sold to an existing
investor in the Company 300 shares of Series D Preferred Stock at a price of $1,000 a share, resulting in gross proceeds of $300,000 to
the Company.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with the Purchase Agreement, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company filed
with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of Series
D Convertible Preferred Stock are convertible. The Registration Rights Agreement contains customary representations, warranties, agreements
and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt/106% Times New Roman, Times, Serif; margin: 0; text-align: justify">On May 16, 2023 Series D Convertible Preferred
received approval at the shareholders meeting for conversion to common stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">On March 22, 2024, the Company entered into Securities Purchase Agreements
with certain accredited investors. Pursuant to one agreement (the &#8220;Series D Purchase Agreement&#8221;), the Company issued an aggregate
of 500 shares of Series D Convertible Preferred Stock and the Company received proceeds of
$500,000. On March 28, 2024, the Company entered into one additional agreement with an accredited investor and issued an additional 120
shares of Series D Convertible Preferred and received proceeds of $120,000. The Series D Preferred Stock was sold at $1,000 a share.
The Series D Purchase Agreement contains customary representations, warranties, agreements, and indemnification rights and obligations
of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023 and 2022 there are 1,299 and
1,299 shares of Series D Convertible Preferred Stock issued and outstanding, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<!-- Field: Page; Sequence: 19 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Series E Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s Board of Directors has designated
30,000 shares as the Series E Convertible Preferred Stock (the &#8220;Series E Convertible Preferred Stock&#8221;). Each share of the
Series E Convertible Preferred Stock has a stated value of $1,000. The holders of the Series E Convertible Preferred Stock, the holders
of the common stock and the holders of any other class or series of shares entitled to vote with the common stock shall vote as one class
on all matters submitted to a vote of shareholders of the Company. Each share of Series E Preferred Stock has 333 votes (subject to adjustment);
provided that in no event may a holder of Series E Preferred Stock be entitled to vote a number of shares in excess of such holder&#8217;s
Beneficial Ownership Limitation. Each share of Series E Convertible Preferred Stock is convertible, subject to shareholder approval (which
has not yet been granted); at any time and from time to time, at the option of the holder, into that number of shares of common stock
(subject to the Beneficial Ownership Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price,
which is $3.00 (subject to adjustment). The Company shall not effect any conversion of the Series E Convertible Preferred Stock, and the
holder shall not have the right to convert any portion of the Series E Convertible Preferred Stock, to the extent that after giving effect
to the conversion sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate
of Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion (the &#8220;Beneficial
Ownership Limitation&#8221;). All holders of the Series E Convertible Preferred Stock elected the 19.99% Beneficial Ownership Limitation</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company on March 27, 2023 entered into a Securities
Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with an existing investor in the Company (the &#8220;Purchaser&#8221;). Pursuant
to the Purchase Agreement, the Purchaser purchased 4,000 shares of a newly authorized Series E Convertible Preferred Stock at a price
of $1,000 per share, and the Company received proceeds of $4,000,000. The Purchase Agreement contains customary representations, warranties,
agreements and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The  investor&#8217;s Purchase Agreement also
provided that the Company would not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the
Purchase Agreement) on or prior to December 31, 2023 that entitled any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Convertible Preferred Stock without the consent of the Purchaser.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On November 9, 2023, the Company entered into a Securities
Purchase Agreement (the "November Purchase Agreement") with certain existing investors in the Company (the "Purchasers").
Pursuant to the November Purchase Agreement, the Purchasers purchased an aggregate of 2,500 shares of Series E Preferred Stock and the
Company received aggregate proceeds of $2,500,000. The Series E Preferred Stock was sold at $1,000 a share. The November Purchase Agreement
contains customary representations, warranties, agreements and indemnification rights and obligations of the parties. The terms of the
Series E Preferred Stock were previously disclosed in the Company's Current Report on Form 8-K filed with the SEC on March 28, 2023 and
the Certificate of Designation of Preferences, Rights and Limitations of the Series E Preferred Stock was filed as an exhibit to the Form
8-K.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The November Purchase Agreement also provides that
the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the November Purchase
Agreement) on or prior to June 30, 2024 that entitles any person to acquire shares of common stock at an effective price per share less
than the then conversion price of the Series E Preferred Stock without the consent of the Purchasers. The conversion price of the Series
E Preferred Stock currently is $3.00 per share (subject to adjustment).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Purchasers under the November Purchase Agreement
also were the holders of the Company's Series F Preferred Stock issued on August 2, 2023. The purchase agreement relating to the shares
of Series F Preferred Stock required the consent of the holders in the event the Company were to issue common stock or rights to acquire
common stock prior to December 31, 2023 at an effective price per share less than the then conversion price of the Series F Preferred
Stock, which was $6.20 per share. As a result, on November 10, 2023 the Company and the holders of the Series F Preferred Stock entered
into Exchange Agreements pursuant to which the holders of Series F Preferred Stock exchanged their 5,000 shares of Series F Preferred
Stock for an equal number of shares of Series E Preferred Stock. As a result of the November Purchase Agreement and the Exchange Agreements,
the Company issued a total of 7,500 shares of Series E Preferred Stock and the 5,000 shares of Series F Preferred Stock were cancelled.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On March 22, 2024, the Company entered into Securities Purchase Agreements
with certain accredited investors. Pursuant to one agreement (the &#8220;Series E Purchase Agreement&#8221;), the Company issued an aggregate
of 2,125 shares of Series E Convertible Preferred Stock and the Company received proceeds
of $2,125,000. The Series E Preferred Stock was sold at $1,000 a share. The Series E Purchase Agreement contains customary representations,
warranties, agreements, and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0">&#160;&#160;</p>

<p style="font: 11pt Aptos; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2023 and December 31, 2022, respectively, there were 11,500 and 0 shares of Series E Convertible Preferred Stock issued
and outstanding.</span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Series F Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On August 1, 2023, the Company entered into a
Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with an existing, accredited investor in the Company (the
&#8220;Purchaser&#8221;). Pursuant to the Purchase Agreement on August 2, 2023, the Purchaser purchased 5,000 shares of a newly
authorized Series F Convertible Preferred Stock (the &#8220;Series F Convertible Preferred Stock&#8221;), and the Company received
proceeds of $5,000,000. The Purchase Agreement contains customary representations, warranties, agreements and indemnification rights
and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company's Board of Directors designated 5,000
shares as the Series F Preferred Stock. Each share of Series F Preferred Stock was convertible, at any time and from time to time, at
the option of the holder, into that number of shares of common stock (subject to the beneficial ownership limitation described below)
determined by dividing the stated value of such share ($1,000) by the conversion price, which was $6.20 (subject to adjustment). The Company,
however, shall not effect any conversion of the Series F Preferred Stock, and the holder shall not have the right to convert any portion
of the Series F Preferred Stock, to the extent that after giving effect to the conversion sought by the holder such holder (together with
such holder&#8217;s Attribution Parties (as defined in the Certificate of Designation)) would beneficially own more than 4.99% (or upon
election by a holder, 19.99%) of the number of shares of common stock outstanding immediately after giving effect to the issuance of shares
of common stock issuable upon such conversion. The purchasers of the Series F Preferred Stock elected that their ownership limitation
would be 19.99%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<!-- Field: Page; Sequence: 20 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The holders of the Series F Preferred Stock, the
holders of the common stock and the holders of any other class or series of shares entitled to vote with the common stock shall vote
together as one class on all matters submitted to a vote of shareholders of the Company. Each share of Series F Preferred Stock has
161 votes (subject to adjustment); provided that in no event may a holder of Series F Preferred Stock be entitled to vote a number
of shares in excess of such holder&#8217;s ownership limitation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company also agreed that it would not, with certain
exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the Purchase Agreement relating to the Series F Preferred
Stock) on or prior to December 31, 2023 that entitled any person to acquire shares of common stock at an effective price per share less
than the then conversion price of the Series F Preferred Stock without the consent of the holders. As a result of that agreement, upon
the issuance of 2,500 shares of Series E Preferred Stock (which have a conversion price of $3.00 per share) on November 10, 2023, the
holders exchanged their 5,000 shares of Series F Preferred Stock for 5,000 shares of Series E Preferred Stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">All of the shares of Series F Preferred Stock thereupon
were cancelled. As of December 31, 2023 and December 31, 2022, respectively, there were 0 and 0 shares of Series F Convertible Preferred
Stock issued and outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: red">&#160;</p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Approximate Number of Equity Security Holders</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of March 28, 2024, there were approximately 3,070
holders of record of our common stock, and the last reported sale price of our common stock on the Nasdaq Capital Market on March 28,
2024 was $4.34 per share.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify; text-indent: -0.25in"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Dividend</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">To date, we have not paid any dividends on our common
stock and do not anticipate paying any such dividends in the foreseeable future. The declaration and payment of dividends on the common
stock is at the discretion of our board of directors and will depend on, among other things, our operating results, financial condition,
capital requirements, contractual restrictions or such other factors as our board of directors may deem relevant. We currently expect
to use all available funds to finance the future development and expansion of our business and do not anticipate paying dividends on our
common stock in the foreseeable future.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.25in; text-align: justify; text-indent: -0.25in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Unregistered Sales of Equity Securities</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There were no unregistered sales of the Company&#8217;s
equity securities during 2023 that were not previously disclosed in a Quarterly Report on Form 10-Q or in a Current Report on Form 8-K.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_009"></span><b>Item 6. </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Reserved</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 21 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_010"></span><b>Item 7. Management&#8217;s Discussion and Analysis
of Financial Condition and Results of Operations.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">This Form 10-K and other reports filed by the Company
from time to time with the Securities and Exchange Commission (the &#8220;SEC&#8221;) contain or may contain forward-looking statements
and information that are based upon beliefs of, and information currently available to, the Company&#8217;s management as well as estimates
and assumptions made by Company&#8217;s management.&#160;&#160;Readers are cautioned not to place undue reliance on these forward-looking
statements, which are only predictions and speak only as of the date hereof. When used in the filings, the words &#8220;anticipate,&#8221;
&#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;expect,&#8221; &#8220;future,&#8221; &#8220;intend,&#8221; &#8220;plan,&#8221; or
the negative of these terms and similar expressions as they relate to the Company or the Company&#8217;s management identify forward-looking
statements. Such statements reflect the current view of the Company with respect to future events and are subject to risks, uncertainties,
assumptions, and other factors, including the risks contained in the &#8220;Risk Factors&#8221; section of this Annual Report on Form
10-K, relating to the Company&#8217;s industry, the Company&#8217;s operations and results of operations, and any businesses that the
Company may acquire.&#160;&#160;Should one or more of these risks or uncertainties materialize, or should the underlying assumptions prove
incorrect, actual results may differ significantly from those anticipated, believed, estimated, expected, intended, or planned.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Although the Company believes that the expectations
reflected in the forward-looking statements are reasonable, the Company cannot guarantee future results, levels of activity, performance,
or achievements.&#160;&#160;Except as required by applicable law, the Company does not intend to update any of the forward-looking statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our consolidated financial statements are prepared
in accordance with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;). These accounting principles require
us to make certain estimates, judgments and assumptions. We believe that the estimates, judgments and assumptions upon which we rely are
reasonable based upon information available to us at the time that these estimates, judgments and assumptions are made. These estimates,
judgments and assumptions can affect the reported amounts of assets and liabilities as of the date of the consolidated financial statements
as well as the reported amounts of revenues and expenses during the periods presented. Our consolidated financial statements would be
affected to the extent there are material differences between these estimates and actual results. In many cases, the accounting treatment
of a particular transaction is specifically dictated by GAAP and does not require management&#8217;s judgment in its application. There
are also areas in which management&#8217;s judgment in selecting any available alternative would not produce a materially different result.&#160;
The following discussion should be read in conjunction with our consolidated financial statements and notes thereto appearing elsewhere
in this report.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 2.2pt 0 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 2.2pt 0 0; text-align: justify"><b>Overview</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 2.2pt 0 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 2.2pt 0 0; text-align: justify">We intend for this discussion to provide
information that will assist in understanding our financial statements, the changes in certain key items in those financial statements,
and the primary factors that accounted for those changes, as well as how certain accounting principles affect our financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Plan of Operation </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s growth strategy includes expansion
of its technology base through organic development efforts, strategic partnerships, and strategic acquisitions where appropriate. The
Company provides its broad range of technology solutions with an emphasis on the Vision Technology market sector and, more specifically,
the Machine Vision subsector. Machine Vision companies provide imaging-based automatic inspection and analysis for process control for
industry with potential expansion into other markets. Duos is currently developing industry solutions for its target markets which will
address rail, trucking, aviation and other vehicle-based processes. Duos&#8217; initial offering, the Railcar Inspection Portal (RIP), provides
both freight and transit railroad customers and select government agencies the ability to conduct fully automated railcar inspections
of trains while they are moving at full speed.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">Specifically, based upon
the current and anticipated business growth, the Company is investing in resources to focus on execution within its target markets. We
continue to evaluate key requirements within those markets, our go-to-market strategy and add development resources to allow us to compete
for additional projects to drive additional revenue growth.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 22 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><b>Prospects and Outlook</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">The Company&#8217;s focus
is to improve operational and technical execution which, we believe, will in turn enable the commercial side of the business to expand
RIP and ALIS delivery into existing customers and to expand and diversify our current customer base. The Company&#8217;s primary customers
have indicated readiness to order more equipment and services should the Company execute as expected on key deliverables. With the Company
working toward a subscription platform approach and its expansion of its artificial intelligence offering, this will also open up additional
commercial avenues to the Company. Historically, the Company has been focused on large, one-time sales with the subscription opportunities
representing an expanded addressable market with emphasis on recurring revenues.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">Additionally, the Company
is making engineering and software upgrades to the RIP to meet anticipated Federal Railroad Association (FRA) and Association of American
Railroad (AAR) standards. These upgrades will continue to be released throughout 2024 and are expected to drive revenue growth this year
and beyond.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 11pt Aptos; margin: 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is expanding its focus in the rail industry to encompass passenger transportation and was awarded a large, multi-year contract
with a national rail carrier. The Company anticipates that it will install a two-RIP solution for the carrier in 2024, with a long-term
services agreement commencing upon delivery of the system.</span><span style="font-size: 8pt">&#160;</span></p>

<p style="font: 8pt Aptos; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt/106% Times New Roman, Times, Serif; margin: 0; text-align: justify">Although the Company&#8217;s prospects for future
revenue growth are anticipated to be favorable, investing in our securities involves risk and careful consideration should be made before
deciding to purchase our securities. There are many risks that affect our business and results of operations, some of which are beyond
our control and unexpected macro events can have a severe impact on the business. Please see the risk factors identified in &#8220;Item
1A &#8211; Risk Factors&#8221; elsewhere in this Annual Report.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Results of Operations</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following discussion should be read in conjunction
with the consolidated financial statements included in this report.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>For the year ended</b>&#160;<b>December 31, 2023</b>&#160;<b>compared
to December 31, 2022</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table sets forth a summary of our
Consolidated Statements of Operations that is used in the following discussions of our results of operations:</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">For the Years Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 66%; text-align: justify">Revenues</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">7,471,198</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">15,012,366</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt">Cost of revenues</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">6,162,317</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">10,264,263</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Gross margin</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">1,308,881</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">4,748,103</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt">Operating expenses</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">12,755,447</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">11,613,252</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Loss from operations</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(11,446,566</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(6,865,149</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt">Other income</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">204,848</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">366</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt">Net loss</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">(11,241,718</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">(6,864,783</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;<b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 23 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Revenues</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="10" style="font-size: 8pt; font-weight: bold; text-align: center">For the Years Ended</td><td style="font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">% Change</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">Revenues:</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; text-align: left">Technology systems</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">3,618,022</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">11,190,292</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">-68</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Services and consulting</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,853,176</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,822,074</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1</td><td style="padding-bottom: 1pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt">Total revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">7,471,198</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">15,012,366</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">-50</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For the full year 2023, there was a 50% decrease in
overall revenues compared to 2022. This decrease was primarily driven by the substantial completion of two freight RIP projects, alongside
ongoing procurement and manufacturing for our transit-focused RIPs in 2022. However, in 2023, despite progress into the advanced stages
of procurement and manufacturing for the transit-focused RIPs, customer-driven delays beyond the Company&#8217;s control arose during
the ongoing production of the two high-speed transit-focused RIPs and thus resulted in timing delays of the overall project delivery timeline
shifting anticipated revenues into 2024. For the full year 2023, there was a small increase in services and consulting revenues as there
were one-time services performed in 2022, related to major site maintenance and repairs for a single customer which did not occur in 2023.
Underlying recurring revenues climbed by approximately 23% on a year-over-year basis. This growth is fueled by the expansion of service
contracts following the completion of new portals in early 2023, coupled with the deployment of AI services deployed with several customers.
The Company is focusing on increasing its business from services and the increase is the result of new contracts for existing and new
systems which the Company anticipates will continue growing throughout 2024 and beyond. The Company continues to navigate delays outside
of the Company's control related to the ongoing production and installation of our two high-speed transit-focused Railcar Inspection Portals.
Management cautions that because of the delays in anticipated start dates, certain installations may produce revenues towards the end
of 2024. These deferrals resulted in a slightly lower revenue growth performance than originally anticipated. However, the bulk of these
deferred revenues are expected to be reported in 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">While customer-driven delays in the installation of
our high-speed transit-focused Railcar Inspection Portals have impacted revenue growth timing year-over-year, the Company's capital structure
remains resilient, allowing us to pursue large projects despite unexpected delays. It should be noted that the Company recently increased
its working capital to account for an increase in pre-contract procurement activities to avoid a slowdown in revenues caused by delays
in receiving certain components as had been the case in previous years. The Company undertook a major review of operations during 2021
and made significant changes in staffing including additional engineering staff and revamping its software development and Artificial
Intelligence staffing. These efforts have yielded benefits throughout 2022, 2023 and beyond.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Overall, in 2023, the Company achieved notable success
in advancing procurement and manufacturing for its transit-focused RIPs, expanding service contracts, and securing new AI contracts and
growing its AI portfolio, including the announcement of its inaugural subscription customer. Recurring revenue from services and consulting
continues to grow and is expected to contribute significantly to future revenue streams, bolstered by new long-term contracts with existing
customers expected to commence in the coming months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Cost of Revenues</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="10" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">For the Years Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">% Change</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Cost of revenues:</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 55%; text-align: left">Technology systems</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right">4,352,247</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right">8,376,649</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right">-48</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">Services and consulting</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">1,810,070</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">1,887,614</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">-4</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt">Total cost of revenues</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">6,162,317</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">10,264,263</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">-40</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 24 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Cost of revenues largely comprises equipment, certain fixed labor and overhead
necessary to support the implementation of new systems and support and maintenance of existing systems. Cost of revenues on technology
systems decreased during the period compared to the equivalent period in 2022 in-line with the decline in project revenues. The decline
in costs generally follows the same trend as project revenues year-over-year as a result of an overall timing difference of major project
work related to the substantial completion of two freight Railcar Inspection Portals and subsequent progression of procurement and manufacturing
for the transit-focused RIPs compared to the equivalent period in 2023 where the Company continued to progress into the advanced stages
of procurement and manufacturing of the transit-focused RIPs, which it anticipates completing during 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">These internal costs are being recognized against
project and support revenues with a similar reduction in costs previously recognized for research and development, engineering and internal
support. The project costs reflect subsequent allocations of fixed costs related to the staff and departmental costs associated with procurement,
manufacturing and installation of RIP installations. As such, in 2023, this fixed component contributed to a negative margin on the Technology
systems revenues. In concert with this, there is a continued focus on construction costs and savings through efficiency, but the Company
has elected to retain its key employees in anticipation of expected sales growth in technology systems and services in 2024 and beyond.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">Cost of revenues decreased on services and
consulting year-over-year. The decrease in costs was a result of </span><span style="font-size: 11pt">o</span><span style="font-size: 10pt">ne-time
services performed in 2022, related to major site maintenance and repairs for a single customer slightly offset by additional services
costs related to the completion of two new freight portals in early 2023. The Company continues to put into service additional artificial
intelligence algorithms and maintenance and support services which are high margin and represent only marginal increases in the requisite
costs to deliver these services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Gross Margin</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="10" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">For the Years Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">% Change</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 55%; text-align: justify">Revenues</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right">7,471,198</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right">15,012,366</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right">-50</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt">Cost of revenues</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">6,162,317</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">10,264,263</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">-40</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt">Gross margin</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">1,308,881</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">4,748,103</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">-72</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Gross margin showed a decrease for the year ended
December 31, 2023 as compared to the same period in 2022. As noted above, the decline in margin was a direct result of an increased level
of business activity the Company recognized in 2022 related to the delivery of two freight portals and the progression of the transit-focused
RIPs compared to the activity in 2023 as well as project delays that were experienced in the latter half of 2023. The business activity
in 2023 consisted primarily of continued progression into the advanced stages of procurement and manufacturing for the transit-focused
RIPs. The Company began to recognize revenue and profit on those activities in accordance with its revenue recognition policy. The recognition
of the revenue and subsequent profit from these projects, as well as underlying services and maintenance revenues from existing and recently
completed projects, coupled with the previously mentioned fixed departmental costs resulted in a gross margin of approximately 18%. By
comparison for the full-year 2022, the Company had increased business activity from a handful of projects primarily related to the substantial
completion of two freight RIPs along with significant progress made on the procurement and manufacturing of our two transit-focused RIPs.
The recognition of the revenue and subsequent profit from these major projects, as well as underlying services and maintenance revenues
from existing projects, resulted in a 32% gross margin in 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 25 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Operating Expenses</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="10" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">For the Years Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">% Change</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Operating expenses:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 55%; text-align: left">Sales and marketing</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right">1,493,309</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right">1,337,186</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right">12</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Research and development</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">1,812,951</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">1,651,064</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">10</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">General and Administration</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">9,449,187</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">8,625,002</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">10</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt">Total operating expense</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">12,755,447</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">11,613,252</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">10</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Overall
operating expenses were higher by 10% in 2023 as compared to the full-year 2022. There was a 12% increase in sales and marketing
related to increased investment into the capability of the commercial team, including the addition of professionals with extensive
experience and leadership in the rail industry. Research and development costs saw a 10% uptick during the year, driven by the
increased personnel costs related to the departments allocated to R&amp;D. Additionally, a 10% increase in general and
administration costs was influenced by several factors, including non-cash amortization charges associated with roughly 400,000
share options that were issued during 2023 as well as an increase in incentive programs tied to certain 2022 performance targets.
These efforts reflect a focus on employee retention and to drive higher performance and attract and retain better quality resources
in a tight labor market. The Company still faces some pressure on existing staff compensation as a result of inflation in prior
years but remains focused to manage and stabilize administrative costs without interruption to customer service. Other factors
driving the increase in general and administration costs include an increase in depreciation charges linked to capitalized AI
development cost for third party support to expand Duos&#8217; AI catalog to over 40 algorithms by the end of 2023. Lastly the
Company saw increased general and administration costs related to a financing deal which was ultimately not consummated with a bank
as well as additional legal and consulting fees related to intellectual property and patents documentation and support. These
changes in expenses reflect the Company's ongoing efforts to invest in talent, expand capabilities, and drive growth in line with
its operating plan.</span>&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Loss From Operations</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The losses from operations for the years ended December
31, 2023 and 2022 were $11,446,566 and $6,865,149, respectively. The increase in losses from operations during the year was the result
of declining system revenues stemming from a decrease in business activity as well as project delays experienced in the latter half of
2023 that were beyond the Company&#8217;s control. The Company has continued to face inflation and supply chain pressures during 2023
and, as normal course of business, has worked to balance these impacts through management of customer contracts and cost control efforts.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Interest Expense</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Interest expense for the years ended December 31,
2023 and 2022 was $7,159 and $9,191, respectively. The reduction in interest expense was primarily attributed to the extinguishment of
equipment financing payables in 2023 that were present during 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Other Income</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Other income for the years ended December 31, 2023
and 2022 was $212,007 and $9,557, respectively. The increase is mainly attributable to the Company's sale of its iCAS assets to a purchaser
in the second quarter of 2023 for $165,000 through a convertible note.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Net Loss</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The net loss for the years ended December 31, 2023
and 2022 was $11,241,718 and $6,864,783, respectively. The increase in net loss is primarily attributable to the decrease in project activity
in 2023 compared to 2022, offset slightly with an increase in the Company&#8217;s recurring services and consulting. Net loss per common
share was $1.56 and $1.11 for the years ended December 31, 2023 and 2022, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Liquidity and Capital Resources</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023, the Company has a cash balance
of $2,441,842 and an Accounts Receivable balance of $1,462,463.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 26 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Cash Flows</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table sets forth the major components
of our statements of cash flows data for the periods presented:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">For the Years Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 66%; text-align: justify">Net cash used in operating activities</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">(8,746,564</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">(7,873,307</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Net cash used in investing activities</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(1,093,909</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(644,888</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt">Net cash provided in financing activities</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">11,161,223</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">8,745,567</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt">Net increase (decrease) in cash</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">1,320,750</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">227,372</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Net cash used in operating activities for the years
ended December 31, 2023 and 2022 was $8,746,564 and $7,873,307, respectively. The increase in net cash used in operations for the year
ended December 31, 2023 was the result of expenditures related to current projects as previously discussed as well as expenditures related
to projects which the Company anticipates will be completed in 2024. In addition, there are several changes in assets and liabilities
that increased the use of cash in operations including decreases in accounts payable, accrued expenses and the operating lease obligation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Net cash used in investing activities for the years
ended December 31, 2023 and 2022 was $1,093,909 and $644,888, respectively. The Company continued to invest in computing, lab equipment,
internal use software and artificial intelligence detections development as reflected in the year-over-year increase in 2023.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Net cash provided in financing activities for the
years ended December 31, 2023 and 2022 was $11,161,223 and $8,745,567, respectively. Cash flows provided by financing activities during
2023 were primarily attributable to gross proceeds from the issuance of preferred stock to shareholders in the amount of $11,500,000,
offset by $25,797 in issuance costs. 2023 marked an increase from 2022 financing activities of $8,745,567.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt/11pt Aptos; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During 2023, we funded our operations through the sale of our equity
(or equity linked) securities, and through revenues generated and cash received from ongoing project execution, services and associated
maintenance revenues. As of March 27, 2024, we have cash on hand of approximately $3,329,753 after an equity capital raise in March 2024
which provided net proceeds of $2,745,000. We have approximately $165,500 in monthly lease and other mandatory payments, not including
payroll and ordinary expenses which are due monthly.</span></p>



<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On a long-term basis, our liquidity is dependent
on the continuation and expansion of operations and receipt of revenues. Our current capital and access to further capital and revenues
are sufficient to fund such expansion we are now less dependent on timely payments by our customers for projects and work in process,
however we expect such timely payments to continue. Material cash requirements will be satisfied within the normal course of business
including substantial upfront payments from our customers prior to starting projects. In some cases, the Company may elect to purchase
materials and supplies in advance of contract award but where there is a high probability of that award. Most, if not all, high value
items that are pre-purchased, can be re-purposed if necessary. The maximum amount of material cash requirements not currently supported
by up-front customer deposits is expected to be less than $1 million.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Demand for the products and services will be
dependent on, among other things, market acceptance of our products and services, the technology market in general, and general economic
conditions, which are cyclical in nature. In as much as a major portion of our activities is the receipt of revenues from the sales of
our products and services, our business operations may be adversely affected by our competitors and prolonged recession periods although
these are not considered to be a factor at present.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In the event of expansion into owning and operating
its own Railcar Inspection Portals, the Company&#8217;s cash requirements and timing may shift. Specifically, the Company would endeavor
to buy all materials ahead of time and invest in the RIP with follow-on contracts for long-term services and licensing. While this would
shift the Company&#8217;s cash requirements, it anticipates a 12 &#8211; 18-month cash break-even point for each site and an opportunity
for improved cash flows over time with high-margin agreements with the investment bolstered by access to further funding via common stock
and private placement offerings.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Liquidity</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under Accounting Codification ASC 205, Presentation
of Financial Statements&#8212;Going Concern (Subtopic 205-40) (&#8220;ASC 205-40&#8221;), the Company has the responsibility to evaluate
whether conditions and/or events raise substantial doubt about its ability to meet its future financial obligations as they become due
within one year after the date that the financial statements are issued. As required by ASC 205-40, this evaluation shall initially not
take into consideration the potential mitigating effects of plans that have not been fully implemented as of the date the financial statements
are issued. Management has assessed the Company&#8217;s ability to continue as a going concern in accordance with the requirement of ASC
205-40.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 27 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As reflected in the accompanying consolidated financial
statements, the Company had a net loss of $11,241,718 for the year ended December 31, 2023. During the same period, cash used in operating
activities was $8,746,564. The working capital surplus and accumulated deficit as of December 31, 2023, were $3,009,842 and $63,603,552,
respectively. In previous financial reports, the Company had raised substantial doubt about continuing as a going concern. This was principally
due to a lack of working capital prior to an underwritten offerings and  private placements which were completed during the first, third
and fourth quarters of 2022, the first, third and fourth quarters of 2023, as well as the first quarter of 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As previously noted, the Company was successful during
2023 in raising gross proceeds of over $11,500,000 from the sale of Series E and F Preferred Stock. Additionally, late in the first quarter
of 2024, the Company raised gross proceeds of $2,745,000 from the issuance of a combination of Series D and E Preferred Stock (See Note
17). As part of its strategy, the Company will endeavor to utilize the Preferred Series E and the remainder of the Series D as additional
funding mechanisms. Additionally, during the second quarter of 2024, the Company will again have access to its S-3 &#8220;shelf registration&#8221;
statement allowing the Company to sell additional common shares. At the time of this document, the Company estimates that it has available
capacity on its shelf registration which it can utilize to bolster working capital and growth of the business in the event it did not
have an uptake in the preferred classes of shares previously noted. Although additional investment is not assured, the Company is comfortable
that it would be able to raise sufficient capital to support expanded operations based on an anticipated increase in business activity.
In the long run, the continuation of the Company as a going concern is dependent upon the ability of the Company to continue executing
its business plan, generate enough revenue, and attain consistently profitable operations. Although the lingering effects of the global
pandemic related to the coronavirus (Covid-19) previously affected our operations, particularly in our supply chain, we now believe that
 the supply chain lags  have largely been abated. We have analyzed our cash flow under &#8220;stress test&#8221; conditions
and have determined that we have sufficient liquid assets on hand or available via the capital markets to maintain operations for at least
twelve months from the issuance date of this report.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In addition, management has taken and continues to
take actions including, but not limited to, elimination of certain costs that do not contribute to short term revenue, and re-aligning
both management and staffing with a focus on improving certain skill sets necessary to build growth and profitability and focusing product
strategy on opportunities that are likely to bear results in the relatively short term. The Company believes that, with the combination
of commercial sales success, Series E Preferred Stock offering coupled with an S-3 shelf registration availability starting in the second
quarter of 2024, it will have sufficient working capital to meet its obligations over the following twelve months. In the last twelve
months the Company has seen growth in its contracted backlog as well as significant, positive signs from new commercial projects that
indicate improvements in future revenues.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Management believes that, at this time, the conditions
in our market space with ongoing contract delays and the additional time needed to execute on new contracts previously reported have put
a strain on our cash reserves. However, recent private placements as well as the availability to raise capital via its shelf registration
indicate there is no substantial doubt for the Company to continue as a going concern for a period of twelve months. We continue executing
the plan to grow our business and achieve profitability. The Company may selectively look at opportunities for fund raising in the future.
Management has extensively evaluated our requirements for the next 12 months and has determined that the Company currently has sufficient
cash and access to capital to operate for at least that period.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">While no assurance can be provided, management believes
that these actions provide the opportunity for the Company to continue as a going concern and to grow its business and achieve profitability
with access to additional capital funding. Ultimately the continuation of the Company as a going concern is dependent upon the ability
of the Company to continue executing the plan described above which was put in place in late 2022 and will continue in 2024 and beyond.
As a result, we expect to generate sufficient revenue and to attain profitable operations with minimal cash use in the next 12-18 months.
These consolidated financial statements do not include any adjustments related to the recoverability and classification of recorded asset
amounts and classification of liabilities that might be necessary should the Company be unable to continue as a going concern.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 28 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Critical Accounting Estimates</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Revenue Recognition </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company recognizes revenue over time using
a cost-based input methodology in which significant judgment is required to estimate costs to complete projects. These estimated costs
are then used to determine the progress towards contract completion and the corresponding amount of revenue to recognize. The Company
follows the principles in ASC 606 which include the following: a contract with a customer creates distinct contract assets and performance
obligations, satisfaction of a performance obligation creates revenue, and a performance obligation is satisfied upon transfer of control
to a good or service to a customer.</p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">Revenue is recognized by evaluating the Company
revenue contracts with customers based on the five-step model under ASC 606:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-size: 10pt">1.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Identify the contract with the customer</span></td></tr></table>

<table cellpadding="0" cellspacing="0" style="font: 11pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-size: 10pt">2.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Identify the performance obligations in the contract</span></td></tr></table>

<table cellpadding="0" cellspacing="0" style="font: 11pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-size: 10pt">3.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Determine the transaction price</span></td></tr></table>

<table cellpadding="0" cellspacing="0" style="font: 11pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-size: 10pt">4.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Allocate the transaction price to separate performance obligations; and</span></td></tr></table>

<table cellpadding="0" cellspacing="0" style="font: 11pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-size: 10pt">5.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Recognize revenue when (or as) each performance obligation is satisfied.</span></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 1in; text-align: justify">&#160;</p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company generates revenue from four sources:</p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt/107% Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-size: 10pt">1.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Technology Systems</span></td></tr></table>

<table cellpadding="0" cellspacing="0" style="font: 11pt/107% Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-size: 10pt">2.</span></td><td style="text-align: justify"><span style="font-size: 10pt">AI Technologies</span></td></tr></table>

<table cellpadding="0" cellspacing="0" style="font: 11pt/107% Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-size: 10pt">3.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Technical Support</span></td></tr></table>

<table cellpadding="0" cellspacing="0" style="font: 11pt/107% Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-size: 10pt">4.</span></td><td style="text-align: justify"><span style="font-size: 10pt">Consulting Services</span></td></tr></table>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 11pt/107% Aptos; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock
Based Compensation</b></span><b><span style="font-size: 8pt">&#160;</span></b><span style="font-size: 8pt">&#160;</span></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company accounts for employee and non-employee
stock-based compensation in accordance with ASC 718-10, &#8220;<i>Share-Based Payment</i>,&#8221; which requires the measurement and recognition
of compensation expense for all share-based payment awards made to employees and directors including stock options, restricted stock units,
and employee stock purchases based on estimated fair values. The stock-based compensation carries a graded vesting feature subject to
the condition of time of employment service with awarded stock-based compensation tranches vesting evenly upon the anniversary date of
the award.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company estimates the fair value of stock options
granted using the Black-Scholes option-pricing formula. In accordance with ASC 718-10-35-8, the Company elected to recognize the fair
value of the stock award using the graded vesting method as time of employment service is the criteria for vesting. The Company amortizes
the fair value of the stock award over the requisite service periods of the awards, which is generally the vesting period. The Company&#8217;s
determination of fair value using an option-pricing model is affected by the stock price as well as assumptions regarding a number of
highly subjective variables.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company estimates volatility based upon the historical
stock price of the Company and estimates the expected term for stock options using the simplified method for employees and directors and
the contractual term for non-employees. The risk-free rate is determined based upon the prevailing rate of United States Treasury securities
with similar maturities.</p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<!-- Field: Page; Sequence: 29 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_011"></span><b>Item 7A. Quantitative and Qualitative Disclosures
About Market Risk</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Not applicable.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_012"></span><b>Item 8. Financial Statements and Supplementary
Data.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our consolidated financial statements are contained
in pages F-1 through F-35 which appear at the end of this Annual Report on Form 10-K.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_013"></span><b>Item 9. Changes in and Disagreements with Accountants
on Accounting and Financial Disclosures.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There are no reportable events under this item
for the year ended December 31, 2023.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_014"></span><b>Item 9A. Controls and Procedures.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Evaluation of Disclosure Controls and Procedures
</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">With the participation of our Chief Executive Officer,
Chief Financial Officer and Controller, we have evaluated the effectiveness of our disclosure controls and procedures (as such term is
defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;)), as of
the end of the period covered by this Report. Based upon such evaluation, our Chief Executive Officer, Chief Financial Officer and Controller
have concluded that, as of the end of such period, our disclosure controls and procedures were effective to ensure that information required
to be disclosed by us in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within
the time periods specified in the SEC&#8217;s rules and forms and is accumulated and communicated to our management, including our Chief
Executive Officer, Chief Financial Officer and Controller, as appropriate to allow timely decisions regarding required disclosure.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Management&#8217;s Annual Report on Internal
Control over Financial Reporting</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our management is responsible for establishing and
maintaining adequate internal control over financial reporting (as defined in Rule 13a-15(f) under the Exchange Act). Our management,
under the supervision and with the participation of our Chief Executive Officer, Chief Financial Officer and Controller, evaluated the
effectiveness of our internal control over financial reporting as of the end of the period covered by this report. In making this assessment,
our management used the criteria set forth in the framework contained in Internal Control &#8212; Integrated Framework (2013) issued by
the Committee of Sponsoring Organizations of the Treadway Commission (COSO). Based on that evaluation, our management concluded that our
internal control over financial reporting was effective as of the end of the period covered by this report based on those criteria.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our internal control over financial reporting is a
process designed under the supervision of our Chief Executive Officer, Chief Financial Officer and Controller to provide reasonable assurance
regarding the reliability of financial reporting and the preparation of our consolidated financial statements for external purposes in
accordance with generally accepted accounting principles, or GAAP. Internal control over financial reporting includes those policies and
procedures that (i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and
dispositions of our assets, (ii) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial
statements in accordance with GAAP, and that receipts and expenditures are being made only in accordance with authorizations of our management
and directors, and (iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition
of our assets that could have a material effect on the financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">With the participation of our Chief Executive Officer,
Chief Financial Officer and Controller, we have evaluated the effectiveness of our disclosure controls and procedures (as such term is
defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;)), as of
the end of the period covered by this Report. Based upon such evaluation, our Chief Executive Officer, Chief Financial Officer and Controller
have concluded that, as of the end of such period, our disclosure controls and procedures were effective to ensure that information required
to be disclosed by us in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within
the time periods specified in the SEC&#8217;s rules and forms and is accumulated and communicated to our management, including our Chief
Executive Officer, Chief Financial Officer and Controller, as appropriate to allow timely decisions regarding required disclosure.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Because of its inherent limitations, internal control
over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods
are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with policies
or procedures may deteriorate. Changes in Internal Control over Financial Reporting There were no changes in our internal control over
financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) of the Exchange Act) during the year ended December 31,
2023, that have materially affected or are reasonably likely to materially affect our internal control over financial reporting.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Changes in Internal Control over Financial Reporting</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There were no changes in our internal control
over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) of the Exchange Act) for the quarter ended
December 31, 2023, that have materially affected or are reasonably likely to materially affect our internal control over financial
reporting.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_015"></span><b>Item 9B. Other Information.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Trading Plans</span></b></p>

<p style="font: 11pt Aptos; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: justify">During the quarter ended December 31, 2023, no director
or Section 16 officer <span id="xdx_90F_eecd--Rule10b51ArrAdoptedFlag_dbF_c20231001__20231231_z9sG6jx9PpS8" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><span id="xdx_90D_eecd--NonRule10b51ArrAdoptedFlag_dbF_c20231001__20231231_zlDf6TFYloMg" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><ix:nonNumeric contextRef="From2023-10-012023-12-31" format="ixt:booleanfalse" id="Fact000049" name="ecd:Rule10b51ArrAdoptedFlag"><ix:nonNumeric contextRef="From2023-10-012023-12-31" format="ixt:booleanfalse" id="Fact000050" name="ecd:NonRule10b51ArrAdoptedFlag">adopted</ix:nonNumeric></ix:nonNumeric></span></span> or <span id="xdx_906_eecd--Rule10b51ArrTrmntdFlag_dbF_c20231001__20231231_z9VKyRdzmrl" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><span id="xdx_908_eecd--NonRule10b51ArrTrmntdFlag_dbF_c20231001__20231231_zSORjjYlf8T4" class="xdx_phnt_RGlzY2xvc3VyZSAtIEluc2lkZXIgVHJhZGluZyBBcnJhbmdlbWVudHMA"><ix:nonNumeric contextRef="From2023-10-012023-12-31" format="ixt:booleanfalse" id="Fact000051" name="ecd:Rule10b51ArrTrmntdFlag"><ix:nonNumeric contextRef="From2023-10-012023-12-31" format="ixt:booleanfalse" id="Fact000052" name="ecd:NonRule10b51ArrTrmntdFlag">terminated</ix:nonNumeric></ix:nonNumeric></span></span> any Rule 10b5-1 trading arrangements or non-Rule 10b5-1 trading arrangements (in each case,
as defined in Item 408(a) of Regulation S-K).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_016"></span><b>Item 9C. Disclosure Regarding Foreign Jurisdictions
that Prevent Inspections</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Not applicable.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>


<!-- Field: Page; Sequence: 30 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>PART III</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_017"></span><b>Item 10. Directors, Executive Officers and Corporate
Governance</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following is a list of our executive officers
and directors. All directors serve one-year terms or until their successors are duly qualified and elected or his earlier resignation,
removal or disqualification. The officers of the Company are elected by the Board.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="border-bottom: black 1pt solid; width: 45%; text-align: justify"><span style="font-size: 8pt"><b>Name</b></span></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 10%; text-align: center"><span style="font-size: 8pt"><b>Age</b></span></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 43%; text-align: justify"><span style="font-size: 8pt"><b>Position</b></span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Charles P. Ferry</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">57</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">Chief Executive Officer, Director</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Andrew W. Murphy</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">40</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">Chief Financial Officer</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Kenneth Ehrman<sup>(1)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">52</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">Chairman</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Frank Lonegro <sup>(2)</sup></td>
    <td>&#160;</td>
    <td style="text-align: center">55</td>
    <td>&#160;</td>
    <td style="text-align: justify">Director</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ned Mavrommatis <sup>(3)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">52</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">Director</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">James Craig Nixon <sup>(4)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">63 </td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">Director </td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<table cellspacing="0" cellpadding="0" style="font: 11pt Aptos; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 2%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)&#160;&#160;&#160;</span></td>
    <td style="width: 98%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chairman of our Board of Directors, member of the Compensation Committee, Chairman of the Corporate Governance and Nominating Committee, and resigned his membership of the Audit Committee effective April 1, 2024.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Independent Director and Member of the Audit Committee effective April l, 2024.</span>&#160;<span style="font-size: 8pt">&#160;&#160;</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chairman of the Audit Committee, member of the Compensation Committee and Corporate Governance and Nominating Committee.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(4)</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chairman of the Compensation Committee, member of the Audit Committee and the Corporate Governance and Nominating Committee.</span></td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Charles P. Ferry, Chief Executive Officer, Director</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Ferry was appointed Chief Executive Officer, effective
September 1, 2020. Mr. Ferry was then elected as a member of our Board of Directors on November 19, 2020 by our shareholders. Mr. Ferry
combines over three years of experience in the energy industry and seven years in the defense contracting industry following 26 years
of active-duty service in the United States Army. From 2018 through 2020, Mr. Ferry was the Chief Executive Officer for APR Energy, a
global fast-track power company. Prior to this, Mr. Ferry was the President and Chief Operating Officer of APR Energy from 2016 to 2018.
From 2014 to 2016, Mr. Ferry was the General Manager for ARMA Global Corporation, a wholly owned subsidiary of General Dynamics, a defense
contracting company that delivered Information Technology engineering, services, and logistics. Mr. Ferry was the Vice President of ARMA
Global Corporation from 2010 to 2014 before being acquired by General Dynamics. From 2009 to 2010, Mr. Ferry was the Director, Business
Development and Operations at Lockheed-Martin. His leadership assignments in the U.S. Army include: Director, NORAD-NORTHCOM Current Operations,
Infantry Battalion Task Force Commander, Joint Special Operations Task Force Commander, Regimental and Battalion Operations Officer, and
Airborne Rifle Company Commander. His military leadership assignments include 48 months of combat in Somalia, Afghanistan and Iraq.</p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Ferry has an undergraduate degree from Brigham
Young University.</p>

<p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our Board of Directors believes Mr. Ferry brings significant
commercial and operational experience to the Company and has shown demonstrable leadership skills as both a Military officer with a distinguished
service record and in leading companies to profitable growth.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 31 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Andrew W. Murphy, Chief Financial Officer</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Murphy has over 16 years of progressive business
experience in accounting and finance including nearly five years of public company experience for a London Stock Exchange-based company.
He joined Duos Technologies, Inc. in 2020 where he served on the Commercial team to support new project bids while also building out the
Finance function. Prior to joining Duos, from 2011 to 2020 Mr. Murphy held progressive senior Finance roles within APR Energy, a global
fast-track power and asset management company formerly listed on the London Stock Exchange (LSE). In these roles Mr. Murphy oversaw the
pricing &amp; risk management efforts for more than $800 million in new business and asset transactions across the globe. Additionally,
he was also responsible for managing the FP&amp;A function as well as supporting M&amp;A activity and the investor relations function
during APR Energy&#8217;s time on the LSE. Prior to his time with APR, Mr. Murphy served in corporate accounting roles within a Fortune
500 company as well as time working in public accounting with a focus on tax and business services.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Murphy graduated from Jacksonville University
&#8220;cum laude&#8221; with a business degree in Accounting and later received his Master&#8217;s degree in Business Administration with
a focus in Finance.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Kenneth Ehrman, Chairman</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Ehrman joined the Board on January 31, 2019. He
was elected as Chairman of the Board in November 2020. As an innovator in intelligent machine to machine (MtoM wireless technology) and
industrial applications of the internet of things (IoT), Mr. Ehrman has coauthored more than 40 patents in wireless communications, mobile
data, asset tracking, power management cargo and impact sensing as well as rental car management.&#160; Mr. Ehrman is the founder of Halo
Collar, which invented a technology used for the tracking of canines to replace GPS-based wireless fences. Halo Collar has recorded more
than 20,000-unit sales since its inception in July 2020. He also currently serves as an independent consultant to several high-technology
companies in supply chain/logistics and transportation. Mr. Ehrman advises technology companies focused on solutions for these industries.</p>

<p style="font: 10pt Calibri, Helvetica, Sans-Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Prior to joining our Board, Mr. Ehrman served as Chief
Executive Officer of I.D. Systems, Inc., a company he founded in 1993 as a Stanford University engineering student. During his tenure
at I.D. Systems, he pioneered the commercial use of radio frequency identification technology for industrial asset management and took
the company public on the Nasdaq in 1999. Under his leadership, I.D. Systems was named one of North America&#8217;s fastest growing technology
companies by Deloitte in 2005, 2006, and 2012. Mr. Ehrman received multiple awards during his time at I.D. Systems, including Deloitte
Entrepreneur of the Year and Ground Support Worldwide Engineer/Innovator Leader.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Ehrman is also the Chairman of the Corporate Governance
and Nominating Committee as well as a member of the Compensation Committee. The Board believes that Mr. Ehrman&#8217;s management
experience, engineering expertise and long history and familiarity with industries the Company currently operates in, make him ideally
qualified to help lead the Company towards continued growth.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Frank A. Lonegro, Director&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Lonegro was elected to the Board of Directors
on July 19, 2023. Since February 2024, Mr. Lonegro has been the Chief Executive Officer and a board member of Landstar Systems, Inc. (Nasdaq:
LSTR), a technology-focused integrated transportation solutions and services provider based in Jacksonville, Florida. From 2020 to early
2024, Mr.&#160;Lonegro was an Executive Vice President and the Chief Financial Officer of Beacon Roofing Supply, Inc., the largest publicly
traded distributor of roofing materials and complementary building products in North America. Prior to Beacon, he had a nearly 20-year
career with CSX Corporation, a Fortune 500 transportation company, where he most recently served as Executive Vice President and Chief
Financial Officer from 2015 to 2019. Mr.&#160;Lonegro&#8217;s career at CSX entailed a unique blend of cross-functional experience, combining
financial, operational and functional executive leadership roles. As Chief Financial Officer, he helped lead transformative operational
changes yielding substantial productivity savings and markedly improved operating margins which led to significant stockholder value creation.
Prior to his role as Chief Financial Officer, Mr.&#160;Lonegro delivered strong results in key leadership roles of increasing responsibility
across operations, service, information technology and internal audit. Prior to joining CSX, Mr.&#160;Lonegro practiced law for seven
years, focusing on complex commercial litigation, loan workouts and business transactions. Mr.&#160;Lonegro earned a bachelor&#8217;s
degree from Duke University, a law degree from the University of Florida and an MBA from the University of Florida.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 32 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->29<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Ned Mavrommatis, Director </b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Mavrommatis has served as the Chief Financial
Officer of Halo Collar since May 2022. The Halo Collar is the newest smart safety system for dogs. Co-founded by Cesar Millan, this patented
system utilizes proprietary technology &amp; dog psychology to provide a wireless smart fence, smart training, GPS tracker and activity
tracker combined into one easy-to-use smart collar. Prior to Halo Collar Mr. Mavrommatis served as the Chief Financial Officer of PowerFleet,
Inc. (NASDAQ: PWFL) from October 2019 to May 2022 and I.D Systems, Inc. (NASDAQ: IDSY) from August 1999 to October 2019. Mr. Mavrommatis
started his career in public accounting.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Mavrommatis received a Master of Business Administration
in finance from New York University&#8217;s Leonard Stern School of Business and a Bachelor of Business Administration in accounting from
Bernard M. Baruch College, The City University of New York. Mr. Mavrommatis is also a Certified Public Accountant.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>James Craig Nixon, Director</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Nixon joined our Board of Directors on July 15,
2021 and serves as Chairman of the Compensation Committee and a member of the Audit and Corporate Governance and Nominating Committees.
Brigadier General Craig Nixon (Ret.) is a combat decorated, special operations soldier. Over a 29-year Army career, Brigadier General
Nixon served in a wide range of assignments including seven tours in special operations units including assignments as the Commander,
75th Ranger Regiment and Director of Operations for Joint Special Operations Command (JSOC) and US Special Operations Command. He is a
combat decorated soldier whose awards include the Distinguished Service Medal, Silver Star, three Bronze Stars, and the Purple Heart.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">After retiring from the Army in 2011, he was an original
Partner at McChrystal Group, helped create a highly successful leadership consulting company and led their engagements with a number of
technology focused Fortune 500 companies. In 2013 he became the Chief Executive Officer of ACADEMI and over three years through a combination
of organic growth and acquisitions built Constellis Group, a global leader in security and training with over 10,000 employees in 30 countries.
During his tenure Constellis tripled in revenue to over $1 billion annually and saw a fivefold increase in EBITDA. Mr. Nixon is founder
and Chief Executive Officer of Nixon Six Solutions from January 2016 until present, a consulting firm focusing on growth and market entry
strategy, leadership, and mergers &amp; acquisitions. He is on a number of government and technology boards and is also a frequent speaker
on geopolitics, leadership, and veterans&#8217; challenges.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Brigadier General Nixon is a graduate of Auburn University
and has earned master&#8217;s degrees from the Command and Staff College and the Air War College. He is a decorated retired General Officer,
successful entrepreneur, and passionate supporter of veteran non-profit organizations. He was selected for the Ranger Hall of Fame and
Auburn University at Montgomery Top Fifty Alumni in 2017.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our Board of Directors believes that Mr. Nixon&#8217;s
extensive military and management experience and familiarity with technology industries make him ideally suited to help lead the Company
towards excellence in operations and strategic planning.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 33 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->30<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Key Employees</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Jeff Necciai, Chief Technology Officer, Operating Subsidiary Duos Technologies,
Inc.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Necciai brings over 25 years of experience in
designing, developing, and delivering value-driven technology solutions across a wide range of industries to Duos. Prior to joining Duos
in January 2021, Jeff served as the Chief Technology Officer of NASCENT Technology, where he cultivated and led high-performing cross-functional
product teams to develop and deliver comprehensive gate automation solutions to rail and maritime terminal customers. Jeff was responsible
for the solution design and software architecture for many of the company's innovations, including an advanced OCR and imaging solution,
proprietary point-to-point VoIP technology, an automated work queue management system, a line of integrated &#8220;smart&#8221; outdoor
IP-based callboxes, and a comprehensive human-assisted security and surveillance platform. In 2001, Jeff co-founded and served as Lead
Systems Architect for Solution Dynamics, which developed remote digital video surveillance products for institutional customers. Jeff
is listed on several technology-based patents and has contributed articles for publications such as American Shipper, World Cargo News,
and the Journal of Commerce. Jeff holds a Bachelor of Science Degree in Business Administration from Clarion University of Pennsylvania.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Chris King, Chief Commercial Officer, Operating Subsidiary Duos Technologies,
Inc.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. King joins Duos with over 20 years of operational
and commercial leadership experience within the energy and supply chain sectors. Prior to joining Duos, he served in a series of progressive
management roles within APR Energy (&#8220;APR&#8221;), a global fast track power company. During Mr. King&#8217;s time at APR, his responsibilities
included: leading all power plant operations, which consisted of 16 sites around the world and over 500 employees; managing acquisition
integrations of over $300 million in new projects; maintaining full P&amp;L accountability for all operations; and building and heading
up a team that closed over $1 billion in new revenue, asset sales, and contract extensions. Prior to his time at APR, Mr. King held several
operational leadership roles at CEVA Logistics, including a role as Lean Six Sigma Leader in charge of designing and executing continuous
improvement projects for CEVA operations across the world.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Family Relationships</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There are no family relationships among any of our
directors or executive officers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Section 16(a) Beneficial Ownership Reporting Compliance</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.25in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Section 16(a) of the Exchange Act requires the Company&#8217;s
executive officers and directors, and persons who own more than 10% of the Company&#8217;s common stock, to file reports of ownership
and changes in ownership on Forms 3, 4 and 5 with the SEC.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.25in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Based solely on our review of certain reports
filed with the SEC pursuant to Section 16(a) of the Exchange Act, the reports required to be filed with respect to transactions in
our Common Stock during the fiscal year ended December 31, 2023, were filed timely, except for one Form 4 for each of Mr. Ferry and
Mr. Murphy in connection with grants of options were not filed
timely.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.25in">&#160;</p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Code of Ethics</b></p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">The Company has adopted
a Code of Ethics for adherence by its Chief Executive Officer and Chief Financial Officer, to ensure honest and ethical conduct, full,
fair and proper disclosure of financial information in the Company&#8217;s periodic reports filed pursuant to the Securities Exchange
Act of 1934, and compliance with applicable laws, rules, and regulations. Any person may obtain a copy of our Code of Ethics by mailing
a request to the Company at 7660 Centurion Parkway, Suite 100, Jacksonville, Florida 33256.</p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Board Composition and Director Independence</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our Board of Directors currently consists of five
members: Mr. Kenneth Ehrman, Mr. Charles P. Ferry, Mr. Ned Mavrommatis, Mr. James Craig Nixon, and Mr. Frank Lonegro. The directors will
serve until our next annual meeting and until their successors are duly elected and qualified. The Company defines &#8220;independent&#8221;
as that term is defined in Nasdaq Listing Rule 5605(a)(2).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In making the determination of whether a member of
the board is independent, our board considers, among other things, transactions and relationships between each director and his immediate
family and the Company, including those reported under the caption &#8220;Certain Relationships and Related Party Transactions&#8221;.
The purpose of this review is to determine whether any such relationships or transactions are material and, therefore, inconsistent with
a determination that the directors are independent. Based on such review and its understanding of such relationships and transactions,
our board affirmatively determined that Mr. Ehrman, Mr. Mavrommatis, Mr. Nixon, and Mr. Lonegro are all qualified as independent and none
of them have any material relationship with us that might interfere with his exercise of independent judgment.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<!-- Field: Page; Sequence: 34 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->31<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Board Committees</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">Our Board of Directors has established an audit
committee, a compensation committee and a corporate governance and nominating committee. Each committee has its own charter, which is
available on our website at&#160;www.duostech.com.&#160;Each of the board committees has the composition and responsibilities described
below.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">Members will serve on these committees until
their resignation or until otherwise determined by our Board of Directors.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">Mr. Mavrommatis, Mr. Nixon and Mr. Ehrman,
all of whom are independent directors within the meaning of the Nasdaq&#8217;s listing rules, are the Chairman of the Audit Committee,
the Compensation Committee and the Corporate Governance and Nominating Committee, respectively. Each of the independent
members of our Board of Directors also serves on one or more committees as previously disclosed.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Audit Committee</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Audit Committee oversees our accounting and
financial reporting processes and oversees the audit of our financial statements and the effectiveness of our internal control over financial
reporting. The specific functions of this Committee include, but are not limited to:</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 32px; line-height: 11pt">&#160;</td>
    <td style="width: 32px; line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt">appointing, approving the compensation of, and assessing the independence of our independent registered public accounting firm;</td></tr>
  <tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt">overseeing the work of our independent registered public accounting firm, including through the receipt and consideration of reports from such firm;</td></tr>
  <tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt">reviewing and discussing with management and the independent registered public accounting firm our annual and quarterly financial statements and related disclosures;</td></tr>
  <tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt">monitoring our internal control over financial reporting, disclosure controls and procedures and code of business conduct and ethics;</td></tr>
  <tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt">discussing our risk management policies;</td></tr>
  <tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt">establishing policies regarding hiring employees from the independent registered public accounting firm and procedures for the receipt and retention of accounting related complaints and concerns;</td></tr>
  <tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt">meeting independently with our independent registered public accounting firm and management;</td></tr>
  <tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt">reviewing and approving or ratifying any related person transactions; </td></tr>
  <tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt">preparing the audit committee report required by SEC rules; and </td></tr>
  <tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify; line-height: 11pt"> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">oversight of cybersecurity risk management and governance.</p></td></tr>
<tr style="vertical-align: top">
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
</table>
<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our board has determined that Mr. Mavrommatis
is currently qualified as an &#8220;audit committee financial expert&#8221;, as such term is defined in Item 407(d)(5) of Regulation
S-K. Mr. Mavrommatis serves as the Chairman of the Audit Committee.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<!-- Field: Page; Sequence: 35 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->32<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Compensation Committee</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Committee&#8217;s compensation-related responsibilities
include, but are not limited to:</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="width: 32px; text-align: justify">&#160;</td>
    <td style="vertical-align: top; width: 32px; text-align: justify; line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt">reviewing and approving on an annual basis the corporate goals and objectives with respect to compensation for our Chief Executive Officer;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt">reviewing, approving and recommending to our board of directors on an annual basis the evaluation process and compensation structure for our other executive officers;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt">determining the need for and the appropriateness of employment agreements and change in control agreements for each of our executive officers and any other officers recommended by the Chief Executive Officer or board of directors;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt">providing oversight of management&#8217;s decisions concerning the performance and compensation of other Company officers, employees, consultants and advisors;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt">reviewing our incentive compensation and other equity-based plans and recommending changes in such plans to our board of directors as needed, and exercising all the authority of our board of directors with respect to the administration of such plans;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt">overseeing and administering the Company&#8217;s Policy for
    the Recovery of Erroneously Awarded Compensation;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt">reviewing and recommending to our board of directors the compensation of independent directors, including incentive and equity-based compensation; and</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify; line-height: 11pt">selecting, retaining and terminating such compensation consultants, outside counsel or other advisors as it deems necessary or appropriate.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Nixon serves as the Chairman of the Compensation
Committee.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 36 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->33<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Corporate Governance and Nominating Committee</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The responsibilities of the Corporate Governance and
Nominating Committee include:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="width: 32px; text-align: justify">&#160;</td>
    <td style="vertical-align: top; width: 32px; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify">recommending to the board of directors nominees for election as directors at any meeting of stockholders and nominees to fill vacancies on the board;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify">considering candidates proposed by stockholders in accordance with the requirements in the Committee charter;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify">overseeing the administration of the Company&#8217;s Code of Ethics;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify">reviewing with the entire board of directors, on an annual basis, the requisite skills and criteria for board candidates and the composition of the board as a whole;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify">having the authority to retain search firms to assist in identifying board candidates, approve the terms of the search firm&#8217;s engagement, and cause the Company to pay the engaged search firm&#8217;s engagement fee;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify">recommending to the board of directors on an annual basis the directors to be appointed to each committee of the board of directors;</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify">overseeing an annual self-evaluation of the board of directors and its committees to determine whether it and its committees are functioning effectively; and</td></tr>
  <tr>
    <td style="text-align: justify">&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="vertical-align: top; text-align: justify">developing and recommending to the board a set of corporate governance guidelines applicable to the Company.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Mr. Ehrman serves as the Chairman of the Corporate
Governance and Nominating Committee.</p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white"><b>Involvement in Certain
Legal Proceedings</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">To the best of our knowledge,
none of our directors or executive officers has, during the past ten years:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.25in">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="width: 32px">&#160;</td>
    <td style="vertical-align: top; width: 32px; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">been convicted in a criminal proceeding or been subject to a pending criminal proceeding (excluding traffic violations and other minor offenses);</td></tr>
  <tr>
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">had any bankruptcy petition filed by or against the business or property of the person, or of any partnership, corporation or business association of which he was a general partner or executive officer, either at the time of the bankruptcy filing or within two years prior to that time;</td></tr>
  <tr>
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">been subject to any order, judgment, or decree, not subsequently reversed, suspended or vacated, of any court of competent jurisdiction or federal or state authority, permanently or temporarily enjoining, barring, suspending or otherwise limiting, his involvement in any type of business, securities, futures, commodities, investment, banking, savings and loan, or insurance activities, or to be associated with persons engaged in any such activity;</td></tr>
  <tr>
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">been found by a court of competent jurisdiction in a civil action or by the Securities and Exchange Commission or the Commodity Futures Trading Commission to have violated a federal or state securities or commodities law, and the judgment has not been reversed, suspended, or vacated;</td></tr>
  <tr>
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">been the subject of, or a party to, any federal or state judicial or administrative order, judgment, decree, or finding, not subsequently reversed, suspended or vacated (not including any settlement of a civil proceeding among private litigants), relating to an alleged violation of any federal or state securities or commodities law or regulation, any law or regulation respecting financial institutions or insurance companies including, but not limited to, a temporary or permanent injunction, order of disgorgement or restitution, civil money penalty or temporary or permanent cease-and-desist order, or removal or prohibition order, or any law or regulation prohibiting mail or wire fraud or fraud in connection with any business entity; or</td></tr>
  <tr>
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Symbol">&#183;</span></td>
    <td style="text-align: justify">been the subject of, or a party to, any sanction or order, not subsequently reversed, suspended or vacated, of any self-regulatory organization (as defined in Section 3(a)(26) of the Exchange Act), any registered entity (as defined in Section 1(a)(29) of the Commodity Exchange Act), or any equivalent exchange, association, entity or organization that has disciplinary authority over its members or persons associated with a member.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Except as set forth in our discussion below in &#8220;Certain
Relationships and Related Transactions,&#8221; none of our directors or executive officers has been involved in any transactions with
us or any of our directors, executive officers, affiliates or associates which are required to be disclosed pursuant to the rules and
regulations of the Commission.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 37 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->34<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt; text-align: left"><span id="a_024"></span><b>Item 11. Executive Compensation</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt; text-align: left"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center"><b>EXECUTIVE COMPENSATION</b>&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table sets forth the total compensation
received for services rendered in all capacities to our Company for the last two fiscal years, which was awarded to, earned by, or paid
to our Chief Executive Officer, Chief Financial Officer and Chief Accounting Officer (the &#8220;Named Executive Officers&#8221;).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-size: 8pt"><b>Name and Principal Position</b></span></td>
    <td style="vertical-align: top">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: center"><span style="font-size: 8pt"><b>Year</b></span></td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: center"><span style="font-size: 8pt"><b>Salary<br/>
($)</b></span></td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: center"><span style="font-size: 8pt"><b>Bonus<br/>
($)</b></span></td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; vertical-align: bottom">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Options</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>($)</b></p></td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; vertical-align: bottom">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Other</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Comp.<br/>
    ($)</b></p></td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: center"><span style="font-size: 8pt"><b>Total<br/>
($)</b></span></td>
    <td style="vertical-align: top">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="width: 18%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 8%; text-align: center">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 12%; text-align: right">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 12%; text-align: right">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 11%; text-align: right">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 11%; text-align: right">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 11%; text-align: right">&#160;</td>
    <td style="width: 1%">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: #CCEEFF">
    <td>Charles P. Ferry,</td>
    <td>&#160;</td>
    <td style="text-align: center">2023</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">260,625</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">125,000</td>
    <td style="text-align: justify"><sup>(1)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">73,365</td>
    <td style="text-align: justify"><sup>(2)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">458,990</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top; background-color: #CCEEFF">
    <td>Chief Executive Officer (CEO)</td>
    <td>&#160;</td>
    <td style="text-align: center">2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">250,000</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">150,000</td>
    <td style="text-align: justify"><sup>(3)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">235,144</td>
    <td style="text-align: justify"><span style="font-family: Calibri, Helvetica, Sans-Serif"></span><sup>(4)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">635,144</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top; background-color: #CCEEFF">
    <td>Andrew W. Murphy,</td>
    <td>&#160;</td>
    <td style="text-align: center">2023</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">221,010</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">57,240</td>
    <td style="text-align: justify"><sup>(6)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">58,692</td>
    <td style="text-align: justify"><sup>(7)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">336,942</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top; background-color: #CCEEFF">
    <td>Chief Financial Officer (CFO)<sup>(5)</sup></td>
    <td>&#160;</td>
    <td style="text-align: center">2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">206,500</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">60,000</td>
    <td style="text-align: justify"><span style="font-family: Calibri, Helvetica, Sans-Serif">&#160;</span><sup>(8)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">188,115</td>
    <td style="text-align: justify"><sup>(9)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">454,615</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top; background-color: #CCEEFF">
    <td>Adrian G. Goldfarb,</td>
    <td>&#160;</td>
    <td style="text-align: center">2023</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">224,675</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">31,000</td>
    <td><sup>(11)</sup></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">55,024</td>
    <td><sup>(12)</sup></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">310,699</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top; background-color: #CCEEFF">
    <td>Former Chief Financial Officer<sup>(10)</sup>, Former Director</td>
    <td>&#160;</td>
    <td style="text-align: center">2022</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">214,385</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">50,000</td>
    <td><span style="font-family: Calibri, Helvetica, Sans-Serif"></span><sup>(13)</sup></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">176,358</td>
    <td><sup>(14)</sup></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">440,743</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top; background-color: #CCEEFF">
    <td>Connie L. Weeks,</td>
    <td>&#160;</td>
    <td style="text-align: center">2023</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top; background-color: #CCEEFF">
    <td>Former Chief Accounting Officer<sup>(15)</sup></td>
    <td>&#160;</td>
    <td style="text-align: center">2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">167,030</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">20,000</td>
    <td style="text-align: justify"><span style="font-family: Calibri, Helvetica, Sans-Serif">&#160;</span><sup>(16)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">94,058</td>
    <td style="text-align: justify"><span style="font-family: Calibri, Helvetica, Sans-Serif"></span><sup>(17)</sup></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">281,088</td>
    <td>&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 32px">(1)</td>
    <td style="text-align: justify">Represents $125,000 objectives bonus.</td></tr>
  <tr style="vertical-align: top">
    <td>(2)</td>
    <td style="text-align: justify">Option compensation is the fair market value of 37,889 share, five-year options with a strike price of $4.22 and three-year vesting granted to Mr. Ferry as a retention incentive. See table below for valuation methodology.</td></tr>
  <tr style="vertical-align: top">
    <td>(3)</td>
    <td style="text-align: justify">Represents $150,000 objectives bonus.</td></tr>
  <tr style="vertical-align: top">
    <td>(4)</td>
    <td style="text-align: justify">Option compensation is the fair market value of 100,000 share, five-year options with a strike price of $6.41 and three-year vesting granted to Mr. Ferry as a retention incentive. See table below for valuation methodology.</td></tr>
  <tr style="vertical-align: top">
    <td>(5)</td>
    <td style="text-align: justify">Mr. Murphy became Chief Financial Officer effective November 15, 2022.</td></tr>
  <tr style="vertical-align: top">
    <td>(6)</td>
    <td style="text-align: justify">Represents $57,240 objectives bonus.</td></tr>
  <tr style="vertical-align: top">
    <td>(7)</td>
    <td style="text-align: justify">Option compensation is the fair market value of 30,311 share, five-year options with a strike price of $4.22 and three-year vesting granted to Mr. Murphy as a retention incentive. See table below for valuation methodology.</td></tr>
  <tr style="vertical-align: top">
    <td>(8)</td>
    <td style="text-align: justify">Represents $60,000 objectives bonus.</td></tr>
  <tr style="vertical-align: top">
    <td>(9)</td>
    <td style="text-align: justify">Option compensation is the fair market value of 80,000 share, five-year options with a strike price of $6.41 and three-year vesting granted to Mr. Murphy as a retention incentive.&#160;&#160;See table below for valuation methodology.</td></tr>
  <tr style="vertical-align: top">
    <td>(10)</td>
    <td style="text-align: justify">Mr. Goldfarb retired as Chief Financial Officer effective November 15, 2022.</td></tr>
  <tr style="vertical-align: top">
    <td>(11)</td>
    <td style="text-align: justify">Represents $31,000 objectives bonus.</td></tr>
  <tr style="vertical-align: top">
    <td>(12)</td>
    <td style="text-align: justify">Option compensation is the fair market value of 28,417 share, five-year options with a strike price of $4.22 and three-year vesting granted to Mr. Goldfarb as a retention incentive. See table below for valuation methodology.</td></tr>
  <tr style="vertical-align: top">
    <td>(13)</td>
    <td style="text-align: justify">Represents $50,000 objectives bonus.</td></tr>
  <tr style="vertical-align: top">
    <td>(14)</td>
    <td style="text-align: justify">Option compensation is the fair market value of 75,000 share, five-year options with a strike price of $6.41 and three-year vesting granted to Mr. Goldfarb as a retention incentive.&#160;&#160;See table below for valuation methodology.</td></tr>
  <tr style="vertical-align: top">
    <td>(15)</td>
    <td style="text-align: justify">On December 31, 2022 Ms. Weeks retired from the Company.</td></tr>
  <tr style="vertical-align: top">
    <td>(16)</td>
    <td style="text-align: justify">Represents bonus award for long service to the Company.</td></tr>
  <tr style="vertical-align: top">
    <td>(17)</td>
    <td style="text-align: justify">Option compensation is the fair market value of 40,000 share, five-year options with a strike price of $6.41 and initial three-year vesting granted to Ms. Weeks as a retention incentive.&#160;&#160;Ms. Weeks' options become fully vested upon her retirement on December 31, 2022 as an accommodation for long service to the Company. See table below for valuation methodology.</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<!-- Field: Page; Sequence: 38 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->35<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="6" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>For the Years Ended<br/>
December 31,</b></span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>2023</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>2022</b></span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 64%; text-align: justify">Risk free interest rate</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 15%; text-align: center">3.73%</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 15%; text-align: center">0.97% - 3.15%</td>
    <td style="width: 1%">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">Expected term in years</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">3.50</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">3.25 - 3.50</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="text-align: justify">Dividend yield</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">&#8212;&#160;&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">&#8212;&#160;&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">Volatility of common stock</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">54% - 118%</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">72% - 80%</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="text-align: justify">Estimated annual forfeitures</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">&#8212;&#160;&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: center">&#8212;&#160;&#160;</td>
    <td>&#160;</td></tr>
  </table>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Outstanding Equity Awards at December 31, 2023</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-size: 7pt"><b>Name</b></span></td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 7pt"><b>Number of <br/>
shares <br/>
underlying <br/>
unexercised <br/>
options <br/>
exercisable</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 7pt"><b>Equity <br/>
Incentive <br/>
Plan <br/>
Awards; <br/>
Number of <br/>
shares <br/>
underlying <br/>
unexercised <br/>
unearned <br/>
options</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 7pt"><b>Option <br/>
exercise <br/>
price</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 7pt"><b>Option <br/>
Expiration <br/>
date</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 7pt"><b>Number of <br/>
shares or <br/>
units of <br/>
stock that <br/>
have not <br/>
vested</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 7pt"><b>Market <br/>
value of <br/>
shares or <br/>
units of <br/>
stock that <br/>
have not <br/>
vested $</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 7pt"><b>Equity <br/>
Incentive <br/>
Plan <br/>
Awards: <br/>
Number of <br/>
unearned <br/>
shares, units <br/>
or other <br/>
rights that <br/>
have not vested</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 7pt"><b>Equity <br/>
Incentive <br/>
Plan <br/>
Awards: <br/>
Market or <br/>
payout value <br/>
of unearned <br/>
shares, units <br/>
or other <br/>
rights that <br/>
have not <br/>
vested $</b></span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCECFF">
    <td><span style="font-size: 9pt">Charles P. Ferry</span></td>
    <td>&#160;</td>
    <td colspan="2" style="vertical-align: bottom; text-align: right"><span style="font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td style="text-align: right; vertical-align: bottom"/>
    <td colspan="2" style="vertical-align: bottom; text-align: right"><span style="font-size: 9pt">37,889</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; text-align: left"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right"><span style="font-size: 9pt">4.22</span></td>
    <td/>
    <td/>
    <td colspan="2" style="vertical-align: bottom; text-align: right"><span style="font-size: 9pt">03/31/2028</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="vertical-align: bottom; text-align: right"><span style="font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="vertical-align: bottom; text-align: right"><span style="font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="vertical-align: bottom; text-align: right"><span style="font-size: 9pt">37,889</span></td>
    <td/>
    <td/>
    <td colspan="2" style="text-align: right"><span style="font-size: 9pt">$0</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 21%; line-height: 11pt"><span style="font-size: 9pt">Charles P. Ferry</span></td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 6%; text-align: right; line-height: 11pt"><span style="font-size: 9pt">33,333</span></td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 7%; text-align: right; line-height: 11pt"><span style="font-size: 9pt">66,667</span></td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 1%; text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="width: 7%; text-align: right; line-height: 11pt"><span style="font-size: 9pt">6.41</span></td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 7%; text-align: right; line-height: 11pt"><span style="font-size: 9pt">12/31/2026</span></td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td>
    <td style="width: 7%; text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 7%; text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 7%; text-align: right; line-height: 11pt"><span style="font-size: 9pt">66,667</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 7%; text-align: right; line-height: 11pt"><span style="font-size: 9pt">$0</span></td>
    <td style="width: 1%; text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Charles P. Ferry</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">100,000</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">4.18</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">08/31/2025</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Andrew W. Murphy</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;30,311</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: left; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="vertical-align: bottom; text-align: right; line-height: 11pt"><span style="font-size: 9pt">4.22</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">03/31/2028</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">30,311</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$0</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Andrew W. Murphy</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">26,667</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">53,333</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">6.41</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">12/31/2026</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">53,333</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">$0</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Andrew W. Murphy</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">20,000</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">4.35</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">11/22/2025</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCECFF">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Adrian G. Goldfarb</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">28,417</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt; vertical-align: bottom"><span style="font-size: 9pt">&#160;&#160;4.22</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">03/31/2028</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">28,417</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$0</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Adrian G. Goldfarb</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">25,000</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">50,000</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">6.41</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">12/31/2026</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">50,000</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">$0</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Adrian G. Goldfarb</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">18,929</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">6.00</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">03/31/2025</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Adrian G. Goldfarb</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">18,929</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">4.74</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">03/31/2025</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Connie L. Weeks</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">40,000</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">6.41</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">12/31/2026</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Connie L. Weeks</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">18,929</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">6.00</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">03/31/2025</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="line-height: 11pt"><span style="font-size: 9pt">Connie L. Weeks</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">18,929</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><span style="font-size: 9pt">$</span></td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">4.74</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">03/31/2025</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: right; line-height: 11pt"><span style="font-size: 9pt">&#8212;</span></td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Employment Agreements</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Charles P. Ferry</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 1, 2020, the Company entered into an
employment agreement (the &#8220;Ferry Employment Agreement&#8221;) with Charles P. Ferry pursuant to which Mr. Ferry serves as Chief
Executive Officer of the Company. The Ferry Employment Agreement is for a term of one year (the &#8220;Initial Term&#8221;) and shall
be automatically extended for additional terms of successive one-year periods (the &#8220;Additional Term&#8221;) unless the Company or
Mr. Ferry gives at least 60 days written notice of non-renewal prior to the expiration of the Initial Term or an Additional Term. During
2022 Mr. Ferry received a base salary at an annual rate of $250,000 and also received a bonus in the amount of $150,000 during 2022 for
achievement of certain objectives in 2022 in accordance with criteria determined by our Board of Directors and based on the review and
recommendation of the Compensation Committee. In 2023, Mr. Ferry&#8217;s annual salary was increased to $265,000 and he was paid a bonus
of $125,000 based on criteria determined by our Board of Directors and based on the review and recommendation of the Compensation Committee.
Mr. Ferry continues to be eligible for an annual bonus in an amount up to $150,000 in accordance with criteria, including but not limited
to, revenue targets, profitability and other key performance indicators. Additionally, Mr. Ferry initially received 100,000 non-qualified
stock options that are exercisable into 100,000 shares of our common stock at an exercise price of $4.18, of which 100% were vested as
of September 1, 2022. He received a further grant in January 2022 in the amount of 100,000 non-qualified options with a term of five years
and a exercise price of $6.41. The options have a three-year vesting period. Additionally, he received a further grant in April 2023 in
the amount of 37,889 non-qualified options with a term of five years and a exercise price of $4.22. The options have a three-year vesting
period. The Ferry Employment Agreement can be terminated with or without cause at any time during the Initial Term or during an Additional
Term. As a full-time employee of the Company, Mr. Ferry is eligible to participate in all of the Company&#8217;s benefit programs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i>Potential Payments upon Change of Control or Termination
following a Change of Control and Severance</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Ferry Employment Agreement contains certain provisions
for early termination, which may result in a severance payment equal to up to six months of base salary then in effect. Generally, we
do not provide any severance specifically upon a change in control, nor do we provide for accelerated vesting upon a change in control.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<!-- Field: Page; Sequence: 39 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->36<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Andrew W. Murphy</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On December 1, 2023, the Company entered into an employment
agreement (the &#8220;Murphy Employment Agreement&#8221;) with Andrew W. Murphy, pursuant to which Mr. Murphy serves as Chief Financial
Officer of the Company. The Murphy Employment Agreement is for a term through March 31, 2025 (the &#8220;Initial Term&#8221;) and shall
be automatically extended for additional terms of successive one-year periods (the &#8220;Additional Term&#8221;) unless the Company or
Mr. Murphy gives at least 60 days written notice of non-renewal prior to the expiration of the Initial Term or each Additional Term. Mr.
Murphy is to receive a base salary at the annual rate of $224,720. Mr. Murphy is also eligible for an annual performance bonus in an amount
up to $70,000 in accordance with criteria, including but not limited to, revenue targets, profitability and other key performance indicators,
as recommended by the Chief Executive Officer and accepted by the Board of Directors. Additionally, Mr. Murphy initially received 20,000
non-qualified stock options at an exercise price of $4.35 with a term of five years and have a three-year vesting period. He received
a further grant in January 2022 in the amount of 80,000 non-qualified options with a term of five years and a strike price of $6.41. The
options have a three-year vesting period. Additionally, he received a further grant in April 2023 in the amount of 30,311 non-qualified
options with a term of five years and an exercise price of $4.22. The options have a three-year vesting period. The Murphy Employment
Agreement may be terminated with or without cause and by Mr. Murphy for good reason. As a full-time employee of the Company, Mr. Murphy
will be eligible to participate in all of the Company&#8217;s benefit programs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i>Potential Payments upon Change of Control or Termination
following a Change of Control and Severance. </i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Murphy Employment Agreement contains certain provisions
for early termination, which may result in a severance payment equal to up to six months of base salary then in effect. Generally, we
do not provide any severance specifically upon a change in control, nor do we provide for accelerated vesting upon a change in control.<b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Adrian G. Goldfarb</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On April 1, 2018, the Company entered into an employment
agreement (the &#8220;Goldfarb Employment Agreement&#8221;) with Adrian G. Goldfarb, pursuant to which Mr. Goldfarb served as Chief Financial
Officer of the Company through November 15, 2022 and subsequently, assumed a new role as Strategic Advisor to the CEO. During 2022, Mr.
Goldfarb was paid an annual salary of $220,000 and he was paid a bonus of $50,000. In 2023, Mr. Goldfarb&#8217;s annual salary was increased
to $226,600 and he was paid a bonus of $31,000. The Goldfarb Employment Agreement had an initial term through March 31, 2019, subject
to renewal for successive one-year terms unless either party gives the other notice of that party&#8217;s election to not renew at least
60 days prior to the expiration of the then-current term. The Goldfarb Employment Agreement remains in effect through March 31, 2024 at
which point the agreement will be terminated. The Goldfarb Employment Agreement was approved by the Compensation Committee.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i>Potential Payments upon Change of Control or Termination
following a Change of Control and Severance</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Goldfarb Employment Agreement contains certain
provisions for early termination, which may result in a severance payment equal to one year of base salary then in effect. Generally,
we do not provide any severance specifically upon a change in control, nor do we provide for accelerated vesting upon change in control.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Connie L. Weeks</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On April 1, 2018, the Company entered into an employment
agreement (the &#8220;Weeks Employment Agreement&#8221;) with Connie L. Weeks, pursuant to which Ms. Weeks served as Chief Accounting
Officer of the Company. During 2022, Ms. Weeks was paid an annual salary of $152,260 as well as a $20,000 performance bonus and $14,770
in compensations for unused paid time off. The Weeks Employment Agreement had an initial term that extended through March 31, 2019, subject
to renewal for successive one-year terms unless either party gave notice of that party&#8217;s election to not renew to the other party
at least 60 days prior to the expiration of the then-current term. Ms. Weeks gave notice to the Company that she would be retiring effective
December 31, 2022. As a consequence, the Weeks Employment Agreement terminated effective December 31, 2022. The Weeks Employment Agreement
was approved by the Compensation Committee.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i>Potential Payments upon Change of Control or Termination
following a Change of Control and Severance</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Weeks Employment Agreement contained certain provisions
for early termination, which may have resulted in a severance payment equal to two years of base salary then in effect. This provision
is no longer in effect and Ms. Weeks will not receive any further compensation following her retirement.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<!-- Field: Page; Sequence: 40 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->37<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Director Compensation</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Starting in 2021, the Compensation Committee determined
that directors will receive $40,000 for serving as a member of a committee and $10,000 for serving as Chairman of a committee. The $10,000
fee is also inclusive of any services rendered as a member of one or more committees. The board compensation will be paid 40% in cash
and 60% in shares of restricted common stock or options to purchase shares of our common stock, as elected by the board member. Each board
member may further elect to receive up to 100% of compensation in restricted stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table summarizes data concerning the
compensation of our non-employee directors for the year ended December&#160;31, 2023.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Fees Earned</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>or Paid<br/>
    in Cash</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>($)</b></p></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Stock</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Awards</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>($)<sup>(5)</sup></b></p></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Option</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Awards</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>($)</b></p></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Non-Equity</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Incentive Plan</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Compensation</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>($)</b></p></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Non-Qualified</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Deferred</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Compensation</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Earnings</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>($)</b></p></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>All Other</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Compensation</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>($)</b></p></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Total</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>($)</b></p></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 44%">Kenneth Ehrman <sup>(1)</sup></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 5%; text-align: right">5,000</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 5%; text-align: right">45,000</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 5%; text-align: right">0</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 5%; text-align: right">0</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 5%; text-align: right">0</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 5%; text-align: right">0</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 5%; text-align: right">50,000</td>
    <td style="width: 1%">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td>Frank A. Lonegro <sup>(2)</sup></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">18,065</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">18,065</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td>Ned Mavrommatis <sup>(3)</sup></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">20,000</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">30,000</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">50,000</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td>James Craig Nixon <sup>(4)</sup></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">50,000</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">0</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">50,000</td>
    <td>&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 1%">(1)&#160;&#160;&#160;</td>
    <td style="width: 99%; text-align: justify">Kenneth Ehrman was appointed to the board in January 2019.&#160;&#160;Through November
    19, 2020, he served as Chairman of the Compensation Committee and as of that date he was named Chairman of our Board of Directors.
    He serves as a member of the Compensation Committee and is Chairman of the Corporate Governance and Nominating Committee. He was
    also a member of the Audit Committee through April 1, 2024</td></tr>
  <tr style="vertical-align: top">
    <td>(2)</td>
    <td style="text-align: justify">Frank A. Lonegro was appointed to the board on July 19, 2023.&#160;&#160;Mr. Lonegro became a member
    of the Audit Committee on April 1, 2024. Mr. Lonegro elected to receive all of his compensation in stock.</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">(3)</td>
    <td style="text-align: justify">Ned Mavrommatis was appointed to the board on August 13, 2019.&#160;&#160;Through November 19, 2020, he served as Co-Chairman of the Audit Committee and since then he has been the sole Chairman of the Audit Committee and he is a member of the Compensation and Corporate Governance and Nominating Committees.</td></tr>
  <tr style="vertical-align: top">
    <td>(4)</td>
    <td style="text-align: justify">James Craig Nixon was appointed to the board on July 15, 2021.&#160;&#160;Since his appointment, he has served as Chairman of the Compensation Committee and he is a member of the Audit and Corporate Governance and Nominating Committees. Mr. Nixon elected to receive all of his compensation in stock.</td></tr>
  <tr style="vertical-align: top">
    <td>(5)</td>
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Reflects the aggregate grant date fair value of stock
    awards computed in accordance with FASB ASC Topic 718.&#160;&#160;In determining the grant date fair value of stock awards, the Company
    used the closing price of the Company&#8217;s common stock on the grant date.</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></td></tr>
  </table>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>



<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<!-- Field: Page; Sequence: 41 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->38<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_018"></span><b>Item 12. Security Ownership of Certain Beneficial
Owners and Management and Related Stockholder Matters.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of March 28, 2024, our authorized capitalization
was 500,000,000 shares of common stock $0.001 par value per share, 500,000 shares of Series A Redeemable Convertible Preferred Stock (&#8220;Preferred
A&#8221;), 15,000 shares of Series B Convertible Preferred Stock (&#8220;Preferred B&#8221;), 5,000 shares of Series C Convertible Preferred
Stock (&#8220;Preferred C&#8221;), 4,000 shares of Series D Convertible Preferred Stock (&#8220;Preferred D&#8221;), 30,000 shares of
Series E Convertible Preferred Stock (&#8220;Preferred E&#8221;), and 5,000 shares of Series F Convertible Preferred Stock (&#8220;Preferred
F&#8221;). As of the same date, there were 0 shares of Preferred A, 0 shares of Preferred B, 0 shares of Preferred C, 1,919 shares of
Preferred D, 13,625 shares of Preferred E, and 0 shares of Preferred F outstanding, respectively, and 7,306,663 shares of our common stock
issued. Additionally, our common stock entitles its holder to one vote on each matter submitted to the stockholders. &#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table sets forth, as of March 28, 2024,
the number of shares of our common stock beneficially owned by (i) each person who is known by us to own of record or beneficially five
percent or more of our outstanding shares, (ii) each of our directors, (iii) each of our executive officers and (iv) all of our directors
and executive officers as a group. Unless otherwise indicated, each of the persons listed below has sole voting and investment power with
respect to the shares of our common stock beneficially owned. The address of our directors and executive officers is c/o Duos Technologies
Group, Inc., at 7660 Centurion Parkway, Suite 100, Jacksonville, Florida 32256.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 11pt Aptos; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Name and Address of Beneficial Owner</b></span></td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Number of</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Shares of</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Common Stock</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Beneficially Owned</b></p></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid">
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Percentage of</b></p>
    <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Shares of Common Stock Beneficially Owned</b></p></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>5% Beneficial Shareholders</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="width: 74%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bleichroeder LP<br/>
1345 Avenue of the Americas, 47<sup>th</sup> Floor<br/>
New York, NY 10105 <sup>(1)</sup></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,504,934</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19.99</span></td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pessin Family Holdings<br/>
500 Fifth Avenue, Suite 2240<br/>
New York, NY 10110 <sup>(2)</sup></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,459,945</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">20.00</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td></tr>
  <tr style="vertical-align: bottom">
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Bard Associates, Inc.</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">135 South LaSalle Street, Suite 3700</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Chicago, Illinois 60603<sup>(3)</sup></p></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">418,283</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.72</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Laurence W. Lytton</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">467 Central Park West</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">New York, New York 10025<sup>(4)</sup></p></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">482,976</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6.60</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td></tr>
  <tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Directors and Executive Officers</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Charles P. Ferry<sup>(5)</sup></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">140,409</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.89</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td></tr>
  <tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Andrew W. Murphy<sup>(6)</sup></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">49,866</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Kenneth Ehrman<sup>(7)</sup></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">74,528</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ned Mavrommatis<sup>(8)</sup></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">43,519</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James C. Nixon</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">37,759</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Frank A. Lonegro</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,835</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Executive Officers and Directors as a Group (6 persons)</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">350,916</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.67</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%&#160;</span></td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">*Denotes less than 1%</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 1%">(1)</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 98%; text-align: justify">Based on Amendment No. 7 to Schedule 13G/A filed by Bleichroeder LP (&#8220;Bleichroeder&#8221;)
with the SEC on February 14, 2024 (the &#8220;Bleichroeder 13G/A&#8221;).&#160;&#160;According to the Bleichroeder 13G/A, Bleichroeder
is an investment advisor registered under Section 203 of the Investment Advisers Act of 1940 and as of February 14, 2024 was deemed to
be the beneficial owner of 1,283,162 shares of our Common Stock (21 April Fund, Ltd. held 929,522 shares and 21 April Fund, LP held 353,640
shares) as a result of acting as investment advisor to various clients.&#160;&#160;&#160;Bleichroeder also owns warrants to purchase shares
of our Common Stock held of record by 21 April Fund, Ltd. in the amount of 32,724 and warrants to purchase shares of our Common Stock
held of record by 21 April Fund LP (together with 21 April Fund, Ltd., the &#8220;21 April Entities&#8221;) in the amount of 11,920, which
are subject to a 9.99% beneficial ownership limitation included in such warrants.&#160;&#160;The 21 April Entities also purchased 999
shares of Series D Preferred Stock on September 30, 2022, which are convertible into 333,000 shares of Common Stock (21 April Fund, Ltd.
holds 237,000 common equivalent shares and 21 April Fund, LP holds 96,000 common equivalent shares). The 21 April Entities also purchased
4,000 shares of Series E Preferred Stock on March 27, 2023, which are convertible into 1,333,334 shares of Common Stock (21 April Fund,
Ltd. holds 933,334 common equivalent shares and 21 April Fund, LP holds 400,000 common equivalent shares). The 21 April Entities also
purchased an additional 2,500 shares of Series E Preferred Stock on November 10, 2023, which are convertible into 833,333 shares of Common
Stock (21 April Fund, Ltd. holds 508,333 common equivalent shares and 21 April Fund, LP holds 325,000 common equivalent shares). The 21
April Entities also purchased an additional 1,000 shares of Series E Preferred Stock on March 22, 2024, which are convertible into 333,334
shares of Common Stock (21 April Fund, Ltd. holds 281,334 common equivalent shares and 21 April Fund, LP holds 52,000 common equivalent
shares). The 21 April Entities exchanged 5,000 shares of Series F Preferred Stock that were acquired in connection with the Purchase Agreement
of Series F Convertible Preferred Stock, completed on August 2, 2023. The 5,000 shares of Series F Preferred Stock, originally convertible
into 806,452 common shares, were exchanged for 5,000 shares of Series E Convertible Preferred Stock on November 10, 2023, which are convertible
into 1,666,667 shares of Common Stock, representing an additional 860,215 common share equivalents (21 April Fund, Ltd. now holds 1,116,667
common equivalent shares and 21 April Fund, LP now holds 550,000 common equivalent shares).&#160;&#160;Conversion of the Series D Preferred
Stock and the Series E Preferred Stock owned by the 21 April Entities is subject to a 19.99% beneficial ownership limitation. Due to the
beneficial ownership limitations, included in the above number of shares of Common Stock beneficially owned are 1,283,162 shares of Common
Stock and an aggregate of 221,776 shares of Common Stock issuable upon conversion of the Series D Preferred Stock and/or the Series E
Preferred Stock. All other shares are excluded. If there were no beneficial ownership limitations, Bleichroeder would be deemed to beneficially
own 5,827,474 shares of Common Stock, representing 49.17% of the outstanding shares of Common Stock.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 42 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->39<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="text-align: justify">(2) </td>
    <td colspan="2" style="text-align: justify">&#160;Based on Amendment No. 5 to Schedule 13D/A filed by Norman H. Pessin, Sandra F. Pessin and Brian L. Pessin with the SEC on October 7, 2022 disclosing that Norman H. Pessin owns 57,972 shares of our Common Stock, Sandra F. Pessin owns 1,221,062 shares of our Common Stock and Brian L. Pessin owns 180,911 shares of our Common Stock.</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">(3)</td>
    <td colspan="2" style="text-align: justify">Based on Schedule 13G/A filed by Bard Associates, Inc. (&#8220;Bard&#8221;) with the SEC on January 4, 2024, disclosing that Bard has sole voting and dispositive power as to 10,000 shares of Common Stock and shared dispositive power as to 408,283 shares of Common Stock.</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">(4) </td>
    <td colspan="2" style="text-align: justify">Based on Amendment No. 4 to Schedule 13G/A filed by Mr. Lytton with the SEC on February 14, 2024. Mr. Lytton also purchased 1,000 shares of Series E Preferred
Stock on March 22, 2024, which are convertible into 333,334 shares of Common Stock. Mr. Lytton also purchased 300 shares of Series D Preferred Stock on October 29, 2022, which are convertible into 100,000 shares of Common Stock. These shares are excluded from the above as conversion of the Series D Preferred Stock owned by Mr. Lytton is subject to a 4.99% beneficial ownership limitation. If there were no beneficial ownership limitation, Mr. Lytton would be deemed to beneficially own 916,310 shares of Common Stock, representing 11.84% of the outstanding shares of Common Stock.</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">(5) </td>
    <td colspan="2" style="text-align: justify">Includes 100,000 shares of our Common Stock underlying the vested and exercisable portion of options to purchase our Common Stock at an exercise price of $4.18 per share and 33,334 shares of our Common Stock underlying the vested and exercisable portion of options to purchase our Common Stock at an exercise price of $6.41 per share. Also includes 1,075 shares of Common Stock owned by Mr. Ferry and 6,000 shares of Common Stock beneficially owned by Mr. Ferry in a joint account with his spouse. 66,666 shares of our Common Stock underlying the unvested and currently non-exercisable portion of options to purchase our Common Stock at an exercise price of $6.41 per share and 37,889 shares of our Common Stock underlying the unvested and currently non-exercisable portion of option to purchase our Common Stock at an exercise price of $4.22 were excluded.</td></tr>
  <tr style="vertical-align: top">
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(6)</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></td>
    <td colspan="2" style="text-align: justify">Includes (i) options to purchase 20,000 shares of our Common Stock at $4.35 per share, all of which are fully vested and exercisable; (ii) options to purchase 26,667 shares of our Common Stock at $6.41 per share, all of which are fully vested and exercisable; and (iii) 3,199 shares of our Common Stock. 53,334 shares of our Common Stock underlying the unvested and currently non-exercisable portion of options to purchase our Common Stock at an exercise price of $6.41 per share and 30,311 shares of our Common Stock underlying the unvested and currently non-exercisable portion of options to purchase our Common Stock at an exercise price of $4.22 were excluded.</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">(7)</td>
    <td colspan="2" style="text-align: justify">Includes (i) options to purchase 8,572 shares of our Common Stock at $4.74 per share, all of which are fully vested and currently exercisable, and (ii) options to purchase 8,572 shares of our Common Stock at $6.00 per share, all of which are fully vested and currently exercisable.</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">(8)</td>
    <td colspan="2" style="text-align: justify">Includes (i) options to purchase 8,572 shares of our Common Stock at $4.74 per share, all of which are fully vested and currently exercisable, and (ii) options to purchase 8,572 shares of our Common Stock at $6.00 per share, all of which are fully vested and currently exercisable.</td></tr>
  <tr>
    <td style="vertical-align: top; width: 4%; text-align: justify"/>
    <td style="vertical-align: top; text-align: justify"/>
    <td style="width: 128px">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Equity Compensation Plan Information</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2021 Equity Plan</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On May 12, 2021, the Board adopted, with shareholder
approval, the 2021 Equity Incentive Plan (the &#8220;2021 Plan&#8221;) providing for the issuance of up to 1,000,000 shares of our Common
Stock. The purpose of the 2021 Plan is to assist the Company in attracting and retaining key employees, directors and consultants and
to provide incentives to such individuals to align their interests with those of our shareholders.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 43 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->40<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>General Description of the 2021 Plan</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following is a summary of the material provisions
of the 2021 Plan and is qualified in its entirety by reference to the complete text of the 2021 Plan, which you are encouraged to read
in full.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Administration</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The 2021 Plan is administered by the Compensation
Committee of the Board, which consists of three members of the Board, each of whom is a &#8220;non-employee director&#8221; within the
meaning of Rule 16b-3 promulgated under the Exchange Act and an &#8220;outside director&#8221; within the meaning of Code Section 162(m).
Among other things, the Compensation Committee has complete discretion, subject to the express limits of the 2021 Plan, to determine the
directors, employees and nonemployee consultants to be granted an award, the type of award to be granted, the terms and conditions of
the award, the form of payment to be made and/or the number of shares of Common Stock subject to each award, the exercise price of each
option and base price of each stock appreciation right (&#8220;SAR&#8221;), the term of each award, the vesting schedule for an award,
whether to accelerate vesting, the value of the Common Stock underlying the award, and the required withholding, if any. The Compensation
Committee may amend, modify or terminate any outstanding award, provided that the participant&#8217;s consent to such action is required
if the action would impair the participant&#8217;s rights or entitlements with respect to that award. The Compensation Committee is also
authorized to construe the award agreements and may prescribe rules relating to the 2021 Plan. Notwithstanding the foregoing, the Compensation
Committee does not have any authority to grant or modify an award under the 2021 Plan with terms or conditions that would cause the grant,
vesting or exercise thereof to be considered nonqualified &#8220;deferred compensation&#8221; subject to Code Section 409A.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Grant of Awards; Shares Available for Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The 2021 Plan provides for the grant of stock options,
SARs, performance share awards, performance unit awards, distribution equivalent right awards, restricted stock awards, restricted stock
unit awards and unrestricted stock awards to non-employee directors, officers, employees and nonemployee consultants of the Company or
its affiliates. We have reserved a total of 1,000,000 shares of Common Stock for issuance as or under awards to be made under the 2021
Plan. If any award expires, is cancelled, or terminates unexercised or is forfeited, the number of shares subject thereto is again available
for grant under the 2021 Plan.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Stock Options</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The 2021 Plan provides for either
&#8220;incentive stock options&#8221; (&#8220;ISOs&#8221;), which are intended to meet the requirements for special federal income
tax treatment under the Code, or &#8220;nonqualified stock options&#8221; (&#8220;NQSOs&#8221;). On May 12, 2021, the 2021 Plan was
adopted by the board of directors and it was approved by the shareholders on July 15, 2021. Stock options may be granted on such
terms and conditions as the Compensation Committee may determine; provided, however, that the per share exercise price under a stock
option may not be less than the fair market value of a share of the Company&#8217;s Common Stock on the date of grant and the term
of the stock option may not exceed 10 years (110% of such value and five years in the case of an ISO granted to an employee who owns
(or is deemed to own) more than 10% of the total combined voting power of all classes of capital stock of the Company or a parent or
subsidiary of the Company). ISOs may only be granted to employees. In addition, the aggregate fair market value of our Common Stock
covered by one or more ISOs (determined at the time of grant) which are exercisable for the first time by an employee during any
calendar year may not exceed $100,000. Any excess is treated as a NQSO.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 44 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->41<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Stock Appreciation Rights</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">An SAR entitles the participant, upon exercise, to
receive an amount, in cash or stock or a combination thereof, equal to the increase in the fair market value of the underlying Common
Stock between the date of grant and the date of exercise. SARs may be granted in tandem with, or independently of, stock options granted
under the 2021 Plan. An SAR granted in tandem with a stock option (i) is exercisable only at such times, and to the extent, that the related
stock option is exercisable in accordance with the procedure for exercise of the related stock option; (ii) terminates upon termination
or exercise of the related stock option (likewise, the Common Stock option granted in tandem with a SAR terminates upon exercise of the
SAR); (iii) is transferable only with the related stock option; and (iv) if the related stock option is an ISO, may be exercised only
when the value of the stock subject to the stock option exceeds the exercise price of the stock option. An SAR that is not granted in
tandem with a stock option is exercisable at such times as the Compensation Committee may specify.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Performance Share and Performance Unit Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Performance share and performance unit awards entitle
the participant to receive cash or shares of our Common Stock upon the attainment of specified performance goals. In the case of performance
units, the right to acquire the units is denominated in cash values.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Restricted Stock Awards and Restricted Stock
Unit Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">A restricted stock award is a grant or sale of Common
Stock to the participant, subject to our right to repurchase all or part of the shares at their purchase price (or to require forfeiture
of such shares if issued to the participant at no cost) in the event that conditions specified by the Compensation Committee in the award
are not satisfied prior to the end of the time period during which the shares subject to the award may be repurchased by or forfeited
to us. Our restricted stock unit entitles the participant to receive a cash payment equal to the fair market value of a share of Common
Stock for each restricted stock unit subject to such restricted stock unit award, if the participant satisfies the applicable vesting
requirement.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Unrestricted Stock Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">An unrestricted stock award is a grant or sale of
shares of our Common Stock to the participant that is not subject to transfer, forfeiture or other restrictions, in consideration for
past services rendered to the Company or an affiliate or for other valid consideration.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Amendment and Termination</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Compensation Committee may adopt, amend and rescind
rules relating to the administration of the 2021 Plan, and amend, suspend or terminate the 2021 Plan, but no such amendment, rescission,
suspension or termination will be made that materially and adversely impairs the rights of any participant with respect to any award received
thereby under the 2021 Plan without the participant&#8217;s consent, other than amendments that are necessary to permit the granting of
awards in compliance with applicable laws.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 45 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->42<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table provides equity compensation
plan information as of December 31, 2023:</p>

<p style="font: 10pt/12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 11pt Aptos; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Plan Category</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Number of securities to be issued upon exercise of outstanding options, warrants and rights</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Weighted-average exercise price of outstanding options, warrants and rights</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Number of securities remaining available for future issuance under equity compensation plans</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 61%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Equity compensation plans approved by security holders</span></td>
    <td style="vertical-align: bottom; width: 1%; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; width: 1%; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,321,429</span></td>
    <td style="vertical-align: top; width: 1%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup>(1)&#160;(2)</sup></span></td>
    <td style="vertical-align: bottom; width: 1%; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; width: 1%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: bottom; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.67</span></td>
    <td style="vertical-align: top; width: 1%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup>(3)</sup></span></td>
    <td style="vertical-align: bottom; width: 1%; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; width: 1%; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">105,133</span></td>
    <td style="vertical-align: bottom; width: 1%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup>4)</sup>&#160;</span></td></tr>
  <tr style="background-color: white">
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: right">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: right">&#160;</td>
    <td style="vertical-align: top; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: right">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td></tr>
  <tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Equity compensation plans not approved by security holders</span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">330,000</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.22</span></td>
    <td style="vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup>(5)</sup></span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">N/A</span></td>
    <td style="vertical-align: bottom; text-align: justify">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 0px">&#160;</td>
    <td style="width: 24px">1.</td>
    <td style="text-align: justify">On March 11, 2016, the Board adopted, subject to the receipt of stockholder approval, which was received on April 21, 2016, the 2016 Plan providing for the issuance of up to 16,327 shares of our common stock. The 2016 Plan was subsequently modified with stockholder approval twice: on January 18, 2018 to increase the total maximum number of shares issuable under the 2016 Plan to 178,572 and on July 31, 2019 to increase the total maximum number of shares issuable under the 2016 Plan to 321,429 of which 311,898 had been issued. The purpose of the 2016 Plan was to assist the Company in attracting and retaining key employees, directors, and consultants and to provide incentives to such individuals to align their interests with those of our stockholders. There are no available shares to be issued under the 2016 Plan.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 0px">&#160;</td>
    <td style="width: 24px">2.</td>
    <td style="text-align: justify">On April 12, 2021, the Board adopted, subject to the receipt of stockholder approval, which was received on July 15, 2021, the 2021 Plan providing for the issuance of up to 1,000,000 shares of our common stock of which 978,117 have been issued and 190,000 forfeited as of December 31, 2023. The purpose of the 2021 Plan was to replace the 2016 Plan which had expired and continue to assist the Company in attracting and retaining key employees, directors, and consultants and to provide incentives to such individuals to align their interests with those of our stockholders.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 0px">&#160;</td>
    <td style="width: 24px">3.</td>
    <td style="text-align: justify">Represents the aggregate Weighted Average Exercise Price of 1,248,775 remaining,
outstanding options from the 2016 and 2021 Plan as of December 31, 2023.</td></tr>
  </table>
<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="font: 11pt Aptos; width: 0px">&#160;</td>
    <td style="font: 11pt Aptos; width: 24px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</span></td>
    <td style="font: 11pt Aptos; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remaining securities available for future issuance for the 2021 Plan accounts
for approximately 107,000 shares cumulatively issued to members of the board of directors as compensation through December 31, 2023.</span></td></tr>
  </table>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 0px">&#160;</td>
    <td style="width: 24px">5.</td>
    <td style="text-align: justify">Represents the aggregate Weighted Average Exercise Price of 330,000
outstanding options as of December 31, 2023.</td></tr>
  </table>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Employee Stock Purchase Plan </b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In the fourth quarter of 2022, the board of directors
adopted an Employee Stock Purchase Plan (&#8220;ESPP&#8221;) which was effective as of January 1, 2023 with a term of 10 years. The ESPP
allows eligible employees to purchase shares of the Company's common stock at a discounted price, through payroll deductions from a minimum
of 1% and up to 25% of their eligible compensation up to a maximum of $25,000 or the IRS allowable limit per calendar year. The Company&#8217;s
Chief Financial Officer administers the ESPP in conjunction with approvals from the Company&#8217;s Compensation Committee, including
with respect to the frequency and duration of offering periods, the maximum number of shares that an eligible employee may purchase during
an offering period, and, subject to certain limitations set forth in the ESPP, the per-share purchase price. Currently, the maximum number
of shares that can be purchased by an eligible employee under the ESPP is 10,000 shares per offering period and there are two six-month
offering periods that begin in the first and third quarters of each fiscal year. The purchase price for one share of Common Stock under
the ESPP is currently equal to 85% of the fair market value of one share of Common Stock on the first trading day of the offering period
or the purchase date, whichever is lower (look-back feature). Although not required by the ESPP, all payroll deductions received or held
by the Company under the ESPP are segregated and deemed as &#8220;restricted cash&#8221; until the completion of the offering period and
redemption of the applicable shares and those withheld amounts are recorded as liabilities.  The maximum aggregate number of shares of the Common Stock that may be issued under the ESPP is
1,000,000 shares.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under ASC 718-50 &#8220;Employee Share Purchase
Plans&#8221; the plan is considered a compensatory plan and the compensation for each six-month offering period is computed based upon
the grant date fair value of the estimated shares to be purchased based on the estimated payroll deduction withholdings. The grant date
fair value was computed as the sum of (a) 15% purchase discount off of the grant date quoted trading price of the Company&#8217;s common
stock and (b) the fair value of the look-back feature of the Company&#8217;s common stock on the grant date which consists of a call option
on 85% of a share of common stock and a put option on 15% of a share of common stock.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In the year ended December 31, 2023, the Company
issued 111,538 shares of common stock related to two transactions. For the six months ended June 30, 2023, the employee contributions
for the first ESPP tranche totaled $117,048 and represented a purchase price of $1.79 per share for 65,561 shares. For the six-month period
beginning July 1, 2023 and ending December 31, 2023 the employee contributions for the second ESPP tranche totaled $113,352 and represented
a purchase price of $2.47 per share for 45,977 shares.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_019"></span><b>Item 13. Certain Relationships and Related
Transactions, and Director Independence</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">None</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Policy on Future Related Party Transactions</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company requires that any related party transactions
must be approved by a majority of the Company&#8217;s independent directors.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 46 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->43<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_020"></span><b>Item 14. Principal Accountant Fees and Services.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Fees Billed for Audit and Non-Audit Services</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table presents for each of the
last two fiscal years the aggregate fees billed in connection with the audits of our financial statements and other professional services
rendered by our independent registered public accounting firm Salberg &amp; Company, P.A.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: justify">Audit Fees (1)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">116,400</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">111,200</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Audit-Related Fees (2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">31,100</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,900</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Tax Fees (3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">All Other Fees (4)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Total Accounting fees and Services</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">147,500</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">130,100</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 32px"><span style="font-size: 9pt">(1)</span></td>
    <td style="text-align: justify"><span style="font-size: 9pt"><i>Audit Fees</i>. These are fees for professional services for the audit of our annual financial statements, and for the review of the financial statements included in our filings on Form 10-K and Form 10-Q, and for services that are normally provided in connection with statutory and regulatory filings or engagements.</span></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 9pt">(2)</span></td>
    <td style="text-align: justify"><span style="font-size: 9pt"><i>Audit-Related Fees</i>. These are fees for assurance and related services by the principal accountant that are reasonably related to the performance of the audit or review of the registrant&#8217;s financial statements.</span></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 9pt">(3)</span></td>
    <td style="text-align: justify"><span style="font-size: 9pt"><i>Tax Fees</i>. These are fees for professional services rendered by the principal accountant with respect to tax compliance, tax advice, and tax planning.</span></td></tr>
  <tr style="vertical-align: top">
    <td><span style="font-size: 9pt">(4)</span></td>
    <td style="text-align: justify"><span style="font-size: 9pt"><i>All Other Fees</i>. These are fees for products and services provided by the principal accountant, other than the services reported above.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>


<!-- Field: Page; Sequence: 47 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->44<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>PART IV</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_021"></span><b>Item 15. Exhibit and Financial Statement Schedules.</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">(a) The following documents are filed or furnished
as part of this Annual Report on Form 10-K:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">1. Financial Statements</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in">Reference is made to
the Index to Financial Statements under page F-1 hereof.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">2. Financial Statement Schedules</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 1in; text-align: justify">The Financial Statement Schedules have been
omitted because they are not applicable, not required, or the information is shown in the financial statements or related notes.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 1in; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">3. Exhibits</p>

<p style="font: 10pt/8pt Times New Roman, Times, Serif; margin: 0; text-align: left; text-indent: 3pc">&#160;</p><table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; width: 8%"><b>Exhibit No.</b></td>
    <td style="vertical-align: top; width: 1%">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; width: 91%"><b>Exhibit&#160;Description</b></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">2.1</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000126493115000106/ex2_1.htm">First
    Amendment to Merger and Plan of Merger, dated March 15, 2015</a> (incorporated herein by reference to the Current Report on Form
    8-K filed as Exhibit 2.1 on March 19, 2015)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">2.2</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000126493115000079/ex2_1.htm">Merger
    Agreement and Plan of Merger, dated February 6, 2015</a> (incorporated herein by reference to the Current Report on Form 8-K filed
    as Exhibit 2.1 on February 9, 2015)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">3.1</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000126493115000267/ex3_1.htm">Amendment
    to Amended and Restated Articles of Incorporation</a> (incorporated herein by reference to the Current Report on Form 8-K filed as
    Exhibit 3.1 on July 13, 2015)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">3.2</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000126493115000134/ex3_1.htm">Amended
    and Restated Articles of Incorporation</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 3.1
    on April 7, 2015)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">3.3</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335021000485/duot_ex3z3.htm">Amended
    and Restated Bylaws, as amended</a> (incorporated by reference to Exhibit 3.3 of the Company&#8217;s Form S-1/A filed on May 28,
    2021)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">3.4</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017000450/duot_ex3z1.htm">Articles
    of Amendment to Articles of Incorporation</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit
    3.1 with the Securities and Exchange Commission on April 28, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">3.5</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001306/duot_exarticles.htm">Articles
    of Amendment to Articles of Incorporation Designation Series B Convertible Preferred Stock</a> (incorporated herein by reference
    to the Current Report on Form 8-K filed as Exhibit 3.1 with the Securities and Exchange Commission on November 29, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">3.6</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335020000058/duot_ex3z1.htm">Certificate
    of Amendment to Articles of Incorporation</a> (incorporated herein by reference to Exhibit 3.1 to the Company's Current Report on
    Form 8-K filed with the Securities and Exchange Commission on January 15, 2020)&#160;&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">3.7</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335021000169/duot_excd.htm">Articles
    of Amendment to Articles of Incorporation Designation of Series C Convertible Preferred Stock</a> (incorporated herein by reference
    to Exhibit 3.1 to the Company's Current Report on Form 8-K filed with the Securities and Exchange Commission on March 1, 2021)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">3.8</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335021000432/duot_ex3z8.htm">Amendments
    to Amended and Restated Bylaws</a> (incorporated herein by reference to Exhibit 3.8 to the Company's Current Report on Form 8-K filed
    with the Securities and Exchange Commission on May 18, 2021)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">3.9</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997322001248/ex3x1.htm">Articles
    of Amendment to Articles of Incorporation Designation of Series D Convertible Preferred Stock</a> (incorporated herein by reference
    to Exhibit 3.1 to the Company's Current Report on Form 8-K filed with the Securities and Exchange Commission on October 3, 2022).</td></tr>
<tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">3.10</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335023000210/duot_ex3z1.htm" style="-sec-extract: exhibit">Articles
    of Amendment to Articles of Incorporation Designation of Series E Convertible Preferred Stock</a> (incorporated herein by reference
    to Exhibit 3.1 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 28, 2023)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">3.11</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997323001050/ex3x1.htm" style="-sec-extract: exhibit">Articles of
                                  Amendment to Articles of Incorporation Designation of Series F Convertible Preferred Stock</a> (incorporated
                                  herein by reference to Exhibit 3.1 to the Company&#8217;s Current Report on Form 8-K filed with the
                                  Securities and Exchange Commission on August 3, 2023)</p></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">4.1</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335016002853/duot_ex4z1.htm">Common
    Stock Purchase Warrant</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 4.1 on December 23,
    2016)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">4.2</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001306/duot_exwarrant.htm">Form
    of Purchaser Warrant</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 4.1 on November 29,
    2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">4.3</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001306/duot_exwarrant2.htm">Form
    of Placement Agent Warrant</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 4.2 on November
    29, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">4.4</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335020000090/duot_ex4z3.htm">Form
    of Representative&#8217;s Warrant Agreemen</a>t (incorporated herein by reference to Exhibit 4.3 to the Company&#8217;s Registration
    Statement on Form S-1/A filed with the Securities and Exchange Commission on January 24, 2020)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">4.5</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335022000281/duot_ex4z4.htm" style="-sec-extract: exhibit">Description
    of the Company&#8217;s Securities Registered Pursuant to Section 12 of the Securities Exchange Act of 1934</a> (incorporated herein
    by reference to Exhibit 4.4 to the Company&#8217;s Annual Report on Form 10-K for the Year Ended December 31, 2021, filed with the
    Securities and Exchange Commission on March 31, 2022)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.1+</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335021000232/duot_ex10z32.htm">Employment
    Agreement, dated September 1, 2020, between the Company and Charles P. Ferry</a> (incorporated by reference to the Annual Report
    on Form 10-K filed as Exhibit 10.32 on March 30, 2021)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.2</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335016001843/duot_ex10z1.htm">Securities
    Purchase Agreement, dated March 31, 2016, by and between Duos Technologies Group, Inc. and the Schedule of Buyers attached thereto</a>
    (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 10.1 on April 6, 2016)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.3</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335016001843/duot_ex10z2.htm">Security
    and Pledge Agreement, dated April 1, 2016, by and among Duos Technologies Group, Inc., each of the Company&#8217;s Subsidiaries named
    therein and GPB Debt Holdings II, LLC (in its capacity as collateral agent)</a> (incorporated herein by reference to the Current
    Report on Form 8-K filed as Exhibit 10.2 on April 6, 2016)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.4</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335016001843/duot_ex10z3.htm">Guaranty,
    dated April 1, 2016, by and among each of Duos Technologies Group, Inc.&#8217;s Subsidiaries named therein and GPB Debt Holdings
    II, LLC (in its capacity as collateral agent)</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit
    10.3 on April 6, 2016)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.5</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335016001843/duot_ex10z4.htm">Warrant,
    dated April 1, 2016, issued by Duos Technologies Group, Inc.</a> (incorporated herein by reference to the Current Report on Form
    8-K filed as Exhibit 10.4 on April 6, 2016)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.6+</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335016001819/duot_14a.htm">2016
    Equity Incentive Plan</a> (incorporated herein by reference to the Proxy Statement on Schedule 14A filed on April 1, 2016)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.7</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335016002853/duot_ex10z1.htm">Securities
    Purchase Agreement, dated December 20, 2016, by and between Duos Technologies Group, Inc. and JMJ Financial</a> (incorporated herein
    by reference to the Current Report on Form 8-K filed as Exhibit 10.1 on December 23, 2016)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.8</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335016002853/duot_ex10z2.htm">Promissory
    Note, dated December 20, 2016, by and between Duos Technologies Group, Inc. and JMJ Financial</a> (incorporated herein by reference
    to the Current Report on Form 8-K filed as Exhibit 10.2 on December 23, 2016)</td></tr>
  </table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 48 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->45<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="width: 8%; line-height: 11pt">10.9</td>
    <td style="width: 1%; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; width: 91%; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001306/duot_exspa.htm">Form of Securities Purchase Agreement</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 10.1 on November 29, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.10</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001306/duot_exrra.htm">Form of Registration Rights Agreement</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 10.2 on November 29, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.11</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017000956/duot_ex10z5.htm">Amendment #1 to the Securities Purchase Agreement and to the Note, dated May 22, 2017</a> (incorporated herein by reference to the Quarterly Report on Form 10-Q filed as Exhibit 10.5 with the Securities and Exchange Commission on August 15, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.12</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017000956/duot_ex10z6.htm">Amendment #2 to the Securities Purchase Agreement and to the Note, dated July 12, 2017</a> (incorporated herein by reference to the Quarterly Report on Form 10-Q filed as Exhibit 10.6 with the Securities and Exchange Commission on August 15, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.13</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017000956/duot_ex10z7.htm">Amendment #3 to the Securities Purchase Agreement and to the Note, dated August 14, 2017</a> (incorporated herein by reference to the Quarterly Report on Form 10-Q filed as Exhibit 10.7 with the Securities and Exchange Commission on August 15, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.14</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001276/duot_ex10z8.htm">Amendment #4 to the Securities Purchase Agreement and Note, dated November 14, 2017, by and between Duos Technologies Group, Inc. and JMJ Financial</a> (incorporated herein by reference to the Quarterly Report on Form 10-Q filed as Exhibit 10.8 on November 20, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.15</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001276/duot_ex10z9.htm">Amendment #5 to the Securities Purchase Agreement and Note, dated November 16, 2017, by and between Duos Technologies Group, Inc. and JMJ Financial</a> (incorporated herein by reference to the Quarterly Report on Form 10-Q filed as Exhibit 10.9 on November 20, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.16</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001276/duot_ex10z10.htm">Amendment #6 to the Securities Purchase Agreement and Note, dated November 20, 2017, by and between Duos Technologies Group, Inc. and JMJ Financial</a> (incorporated herein by reference to the Quarterly Report on Form 10-Q filed as Exhibit 10.10 on November 20, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.17</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001276/duot_ex10z13.htm">Forbearance Agreement, dated May 12, 2017, by and among Duos Technologies Group, Inc. and GPB Debt Holdings II, LLC</a> (incorporated herein by reference to the Quarterly Report on Form 10-Q filed as Exhibit 10.13 on November 20, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.18</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017000764/duot_ex10z1.htm">Form of Note Holder Letter Agreement, dated June 9, 2017</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 10.1 with the Securities and Exchange Commission on June 15, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.19+</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017000764/duot_ex10z2.htm">Form of Arcaini Letter Agreement, dated June 9, 2017</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 10.2 with the Securities and Exchange Commission on June 15, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.20+</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017000764/duot_ex10z3.htm">Form of Goldfarb Letter Agreement, dated June 9, 2017</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 10.3 with the Securities and Exchange Commission on June 15, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.21</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017000956/duot_ex10z4.htm">GPB Debt Holdings II, LLC Letter Agreement, dated August 1, 2017</a> (incorporated herein by reference to the Quarterly Report on Form 10-Q filed as Exhibit 10.4 with the Securities and Exchange Commission on August 15, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.22</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001306/duot_ex10z5.htm">Form of Conversion Letter</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 10.5 with the Securities and Exchange Commission on November 29, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.23</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001306/duot_ex10z4.htm">Form of Redemption Letter</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 10.4 with the Securities and Exchange Commission on November 29, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.24</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001306/duot_ex10z3.htm">Form of Pay-off Letter</a> (incorporated herein by reference to the Current Report on Form 8-K filed as Exhibit 10.3 with the Securities and Exchange Commission on November 29, 2017)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.25+</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335017001401/duot_14a.htm">Amendment to 2016 Equity Incentive Plan</a> (incorporated by reference to Appendix B of the Proxy Statement on Schedule 14A filed with the Securities and Exchange Commission on December 18, 2017).</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.26+</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335019000657/duot_14a.htm">Amendment to 2016 Equity Incentive Plan</a> (incorporated by reference to the Proxy Statement on Schedule 14A filed with the Securities and Exchange Commission on June 21, 2019)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.27+</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335020000457/duot_ex10z1.htm">Form of Non-Qualified Stock Option Agreement</a> (incorporated herein by reference to Exhibit 10.1 to the Company&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on May 15, 2020)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.28</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335020000758/duot_ex10z1.htm">Paycheck Protection Program Note, dated April 23, 2020</a> (incorporated herein by reference to Exhibit 10.1 to the Company&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on August 14, 2020)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.29</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335020000991/duot_ex10z1.htm">Separation Agreement, dated July 10, 2020, by and between Duos Technologies Group, Inc. and Gianni B. Arcaini</a> (incorporated herein by reference to Exhibit 10.1 to the Company&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission on November 12, 2020)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.30</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335021000169/duot_exspa.htm">Form of Securities Purchase Agreement</a> (incorporated herein by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 1, 2021)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.31</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335021000169/duot_exrra.htm">Form of Registration Rights Agreement</a> (incorporated herein by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 1, 2021)</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;&#160;</p>


<!-- Field: Page; Sequence: 49 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->46<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr>
    <td style="width: 100%; text-align: center">&#160;</td></tr>
  </table>
<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 22.5pt">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="width: 8%; line-height: 11pt">10.32+</td>
    <td style="width: 1%; line-height: 11pt">&#160;</td>
    <td style="width: 91%; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335021000535/duot_14a.htm">2021 Equity Incentive Plan</a> (incorporated herein by reference to the Proxy Statement on Schedule 14A filed on June 23, 2021)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.33+</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335019001272/duot_ex10z13.htm">Employment Agreement, dated April 1, 2018, between the Company and Adrian G. Goldfarb</a> (incorporated herein by reference to Exhibit 10.13 to the Company&#8217;s Registration Statement on Form S-1 filed with the Securities and Exchange Commission on December 11, 2019)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.34+</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335019001272/duot_ex10z14.htm">Employment Agreement, dated April 1, 2018, between the Company and Connie L. Weeks</a> (incorporated herein by reference to Exhibit 10.14 to the Company&#8217;s Registration Statement on Form S-1 filed with the Securities and Exchange Commission on December 11, 2019)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.35</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997322001248/ex10x1.htm">Form of Securities Purchase Agreement</a> (incorporated herein by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on October 3, 2022)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.36</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997322001248/ex10x2.htm">Form of Registration Rights Agreement</a> (incorporated herein by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on October 3, 2022)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">10.37</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335023000210/duot_ex10z1.htm" style="-sec-extract: exhibit">Form of Securities Purchase Agreement</a> (incorporated herein by reference
to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 28, 2023)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">10.38</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335023000210/duot_ex10z2.htm" style="-sec-extract: exhibit">Form of Registration Rights Agreement</a> (incorporated herein by reference
to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission on March 28, 2023)</td></tr>

  <tr style="vertical-align: top; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.39+</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335023000250/duot_14a.htm" style="-sec-extract: exhibit">2021 Equity Incentive Plan as amended</a> (incorporated
    herein by reference to Exhibit C to the definitive Proxy Statement filed with the Securities and Exchange Commission on April 7,
    2023)</span></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.40+</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335023000250/duot_14a.htm" style="-sec-extract: exhibit">Duos Technologies Group, Inc. Employee Stock Purchase
    Plan</a> (incorporated herein by reference to Exhibit B to the definitive Proxy Statement filed with the Securities and Exchange Commission
    on April 7, 2023)</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.41</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997323001050/ex10x1.htm" style="-sec-extract: exhibit">Form of Securities Purchase Agreement</a> (incorporated
    herein by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission
    on August 3, 2023)</span></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.42</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997323001050/ex10x2.htm" style="-sec-extract: exhibit">Form of Registration Rights Agreement</a> (incorporated
    herein by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange Commission
    on August 3, 2023)</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.43</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997323001605/ex10x3.htm" style="-sec-extract: exhibit">Form of Securities Purchase Agreement</a> (incorporated
    herein by reference to Exhibit 10.3 to the Company&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission
    on November 14, 2023)</span></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.44</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997323001605/ex10x4.htm" style="-sec-extract: exhibit">Form of Exchange Agreement</a> (incorporated herein by
    reference to Exhibit 10.4 to the Company&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission
    on November 14, 2023)</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.45</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997323001605/ex10x5.htm" style="-sec-extract: exhibit">Form of Registration Rights Agreement</a> (incorporated
    herein by reference to Exhibit 10.5 to the Company&#8217;s Quarterly Report on Form 10-Q filed with the Securities and Exchange Commission
    on November 14, 2023)</span></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.46+</span></td>
    <td>&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997323001714/ex10-1.htm" style="-sec-extract: exhibit">Employment Agreement, dated as of December 1, 2023,
    between Duos Technologies Group, Inc. and Andrew W. Murphy</a> (incorporated herein by reference to Exhibit 10.1 to the Company&#8217;s
    Current Report on Form 8-K filed with the Securities and Exchange Commission on December 7, 2023).</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td>10.47</td>
    <td>&#160;</td>
    <td style="text-align: justify"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997324000411/ex10x1.htm" style="-sec-extract: exhibit">Form of Securities Purchase Agreement for Series D Preferred Stock</a>
(incorporated herein by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange
Commission on March 25, 2024)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td>10.48</td>
    <td>&#160;</td>
    <td style="text-align: justify"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997324000411/ex10x2.htm" style="-sec-extract: exhibit">Form of Registration Rights Agreement for Series D Preferred Stock</a>
(incorporated herein by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange
Commission on March 25, 2024)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td>10.49</td>
    <td>&#160;</td>
    <td style="text-align: justify"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997324000411/ex10x3.htm" style="-sec-extract: exhibit">Form of Securities Purchase Agreement for Series E Preferred Stock</a>
(incorporated herein by reference to Exhibit 10.3 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange
Commission on March 25, 2024)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td>10.50</td>
    <td>&#160;</td>
    <td style="text-align: justify"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000107997324000411/ex10x4.htm" style="-sec-extract: exhibit">Form of Registration Rights Agreement for Series E Preferred Stock</a>
(incorporated herein by reference to Exhibit 10.4 to the Company&#8217;s Current Report on Form 8-K filed with the Securities and Exchange
Commission on March 25, 2024)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">14.1</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335019000375/duot_ex14z1.htm" style="-sec-extract: exhibit">Code of Ethics</a> (incorporated herein by reference to Exhibit 14.1 to the
Company&#8217;s Annual Report on Form 10-K for the Year Ended December 31, 2018 on April 15, 2019)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">21</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335021000485/duot_ex21z1.htm">List of Subsidiaries</a> (incorporated by reference to Exhibit 21 to the Company&#8217;s Registration Statement on Form S-1/A filed on May 28, 2021)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">23.1</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="ex23x1.htm">Consent of Salberg &amp; Company, P.A.</a></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">31.1*</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="ex31x1.htm">Certification of Principal Executive Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">31.2*</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="ex31x2.htm">Certification of Principal Financial Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">32.1**</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt"><a href="ex32x1.htm">Certification of Principal Executive Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">32.2**</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="ex32x2.htm">Certification of Principal Financial Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">97*</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="ex97.htm">DUOS Technologies Group, Inc. Policy for the Recovery of Erroneously Awarded
    Compensation</a></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">99.1</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335019000375/duot_ex99z1.htm">Audit Committee Charter</a> (incorporated by reference to the Company&#8217;s Annual Report on Form 10-K filed on April 15, 2019)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="line-height: 11pt">99.2</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335019000375/duot_ex99z2.htm">Compensation Committee Charter</a> (incorporated by reference to the Company&#8217;s Annual Report on Form 10-K filed on April 15, 2019)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="line-height: 11pt">99.3</td>
    <td style="line-height: 11pt">&#160;</td>
    <td style="line-height: 11pt"><a href="http://www.sec.gov/Archives/edgar/data/1396536/000155335019000375/duot_ex99z3.htm">Corporate Governance and Nominating Committee Charter</a> (incorporated by reference to the Company&#8217;s Annual Report on Form 10-K filed on April 15, 2019)</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify; line-height: 11pt">101.INS *</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">Inline XBRL Instance Document (the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document)</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify; line-height: 11pt">101.SCH *</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">Inline XBRL Taxonomy Extension Schema Document</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify; line-height: 11pt">101.CAL *</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">Inline XBRL Taxonomy Extension Calculation Linkbase Document</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify; line-height: 11pt">101.DEF *</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">Inline XBRL Taxonomy Extension Definition Linkbase Document</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify; line-height: 11pt">101.LAB *</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">Inline XBRL Taxonomy Extension Label Linkbase Document</td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify; line-height: 11pt">101.PRE *</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">Inline XBRL Taxonomy Extension Presentation Linkbase Document</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify; line-height: 11pt">104*</td>
    <td style="text-align: justify; line-height: 11pt">&#160;</td>
    <td style="text-align: justify; line-height: 11pt">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</td></tr>
  </table>
<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 0px">&#160;</td>
    <td style="width: 32px; line-height: 11.4pt">*</td>
    <td style="text-align: justify; line-height: 11.4pt">filed herewith</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 0px">&#160;</td>
    <td style="width: 32px; line-height: 11.4pt">**</td>
    <td style="text-align: justify; line-height: 11.4pt">furnished herewith</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 0px">&#160;</td>
    <td style="width: 32px; line-height: 11.4pt">+</td>
    <td style="text-align: justify; line-height: 11.4pt">indicates management contract or compensatory plan</td></tr>
  </table>
<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 22.5pt">&#160;</p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="a_022"></span><b>Item 16. Form 10-K Summary</b></p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Not applicable</p>

<p style="font: 10pt/11.4pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 50 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->47<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span id="a_023"></span><b>SIGNATURES</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Pursuant to the requirements of Section 13 or
15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the
undersigned, thereunto duly authorized.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td colspan="2"><b>DUOS TECHNOLOGIES GROUP, INC.</b></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td colspan="2">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="width: 63%">Date: April 1, 2024</td>
    <td style="width: 2%">By:</td>
    <td style="border-bottom: black 1pt solid; width: 35%">/s/&#160;<i>Charles P. Ferry</i></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Charles P. Ferry</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Executive Officer</p></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Date: April 1, 2024</td>
    <td>By:</td>
    <td style="border-bottom: black 1pt solid">/s/&#160;<i>Andrew W. Murphy</i></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Andrew W. Murphy</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Financial Officer&#160;</p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="background-color: white"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="background-color: white">Pursuant to
the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant
and in the capacities and on the dates indicated.</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="background-color: white"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="border-bottom: black 1pt solid; width: 27%"><span style="font-size: 8pt"><b>Signature</b></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 44%"><span style="font-size: 8pt"><b>Title</b></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 1pt solid; width: 27%"><span style="font-size: 8pt"><b>Date</b></span></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">/s/ <i>Charles P. Ferry</i></td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">Chief Executive Officer and Director</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">April 1, 2024</td></tr>
  <tr style="vertical-align: top">
    <td>Charles P. Ferry&#160;</td>
    <td>&#160;</td>
    <td>&#160;(Principal Executive Officer)</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">/s/ <i>Andrew W. Murphy</i></td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: bottom">Chief Financial Officer</td>
    <td style="vertical-align: top">&#160;</td>
    <td style="vertical-align: top">April 1, 2024</td></tr>
  <tr style="vertical-align: top">
    <td>Andrew W. Murphy</td>
    <td>&#160;</td>
    <td>(Principal Financial Officer) </td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-bottom: black 1pt solid">/s/ <i>Kenneth Ehrman</i></td>
    <td>&#160;</td>
    <td>Chairman</td>
    <td>&#160;</td>
    <td>April 1, 2024</td></tr>
  <tr style="vertical-align: top">
    <td>Kenneth Ehrman</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-bottom: black 1pt solid">/s/ <i>Ned Mavrommatis</i></td>
    <td>&#160;</td>
    <td>Director</td>
    <td>&#160;</td>
    <td>April 1, 2024</td></tr>
  <tr style="vertical-align: top">
    <td>Ned Mavrommatis</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-bottom: black 1pt solid"><i>/s/ James Craig Nixon</i></td>
    <td>&#160;</td>
    <td>Director</td>
    <td>&#160;</td>
    <td>April 1, 2024</td></tr>
  <tr style="vertical-align: top">
    <td>James Craig Nixon</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="border-bottom: Black 1pt solid"><i>/s/ Frank A. Lonegro</i></td>
    <td>&#160;</td>
    <td>Director</td>
    <td>&#160;</td>
    <td>April 1, 2024</td></tr>
  <tr style="vertical-align: top">
    <td>Frank A. Lonegro</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 51 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->48<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="margin: 0">&#160;</p>

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr>
    <td style="width: 100%; text-align: center">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>INDEX TO FINANCIAL STATEMENTS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 37.5pt; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 90%"><a href="#a_050">Report of Independent Registered Public Accounting Firm</a> (PCAOB ID # <span id="xdx_903_edei--AuditorFirmId_c20230101__20231231" title="Auditor Firm ID"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000054" name="dei:AuditorFirmId">106</ix:nonNumeric></span>)</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 7%; text-align: right">F-2 </td>
    <td style="width: 1%; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><a href="#a_051">Consolidated Balance Sheets as of December 31, 2023 and 2022</a></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">F-4 </td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><a href="#a_052">Consolidated Statements of Operations for the Years Ended December 31, 2023 and&#160;2022</a></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">F-6 </td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><a href="#a_053">Consolidated Statements of Changes in Stockholders&#8217; Equity for the Years Ended December 31, 2023 and&#160;2022</a></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">F-7 </td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><a href="#a_054">Consolidated Statements of Cash Flows for the Years Ended December 31, 2023&#160;and 2022</a></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">F-8 </td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><a href="#a_055">Notes to Consolidated Financial Statements</a></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">F-9 </td>
    <td style="text-align: justify">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 52 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Value: 1; Name: PageNo -->1<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b><img src="image_002.jpg" alt=""/>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span id="a_050"></span>Report of Independent Registered Public Accounting
Firm</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">To the Stockholders and the Board of Directors of:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Duos Technologies Group, Inc.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Opinion on the Financial Statements</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We have audited the accompanying consolidated balance
sheets of Duos Technologies Group, Inc. and Subsidiaries (the &#8220;Company&#8221;) as of December 31, 2023 and 2022, the related consolidated
statements of operations, changes in stockholders&#8217; equity and cash flows for each of the two years in the period ended December
31, 2023 and the related notes (collectively referred to as the &#8220;consolidated financial statements&#8221;). In our opinion, the
consolidated financial statements present fairly, in all material respects, the consolidated financial position of the Company as of December
31, 2023 and 2022, and the consolidated results of its operations and its cash flows for each of the two years in the period ended December
31, 2023, in conformity with accounting principles generally accepted in the United States of America.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Basis for Opinion</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">These consolidated financial statements are the responsibility
of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s consolidated financial statements
based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;)
and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable
rules and regulations of the Securities and Exchange Commission and the PCAOB.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We conducted our audits in accordance with the standards
of the PCAOB. Those standards require that we plan and perform the audits to obtain reasonable assurance about whether the consolidated
financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were
we engaged to perform, an audit of internal control over financial reporting. As part of our audits we are required to obtain an understanding
of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company&#8217;s
internal control over financial reporting. Accordingly, we express no such opinion.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our audits included performing procedures to assess
the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures
that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the
consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by
management, as well as evaluating the overall presentation of the consolidated financial statements. We believe that our audits provide
a reasonable basis for our opinion.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="text-decoration: underline">Critical Audit Matters</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The critical audit matters communicated below are
matters arising from the current period audit of the consolidated financial statements that were communicated or required to be communicated
to the audit committee and that: (1) relate to accounts or disclosures that are material to the consolidated financial statements and
(2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter
in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit
matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.</p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Garamond, Times, Serif; margin: 0 0 0 0.5in; text-align: center; color: #333399">2295 NW Corporate Blvd., Suite 240
&#8226; Boca Raton, FL 33431</p>

<p style="font: 10pt Garamond, Times, Serif; margin: 0 0 0 0.5in; text-align: center; color: #333399">Phone: (561) 995-8270 &#8226; Toll
Free: (866) CPA-8500 &#8226; Fax: (561) 995-1920</p>

<p style="font: 10pt Garamond, Times, Serif; margin: 0 0 0 0.5in; text-align: center; color: #333399">www.salbergco.com &#8226; info@salbergco.com</p>

<p style="font: 9pt Garamond, Times, Serif; margin: 0 0 0 0.5in; text-align: center; color: #333399"><i>Member National Association of
Certified Valuation Analysts &#8226; Registered with the PCAOB</i></p>

<p style="font: 10.5pt Calibri, Helvetica, Sans-Serif; margin: 0 0 0 0.5in; text-align: center; color: #333399"><span style="font-family: Garamond, Times, Serif; font-size: 9pt; letter-spacing: 0.5pt"><i>Member
CP</i></span><i><span style="font-family: Garamond, Times, Serif; font-size: 9pt; letter-spacing: 0.2pt">AC</span></i><i><span style="font-family: Garamond, Times, Serif; font-size: 9pt; letter-spacing: 0.5pt">onnect
with Affiliated Offices Worldwide </span></i><span style="font-family: Times New Roman, Times, Serif; font-size: 9.5pt; letter-spacing: 0.5pt">&#8226;</span>
<span style="font-family: Garamond, Times, Serif; font-size: 9pt; letter-spacing: 0.5pt"><i>Member Center for Public Company Audit Firms</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 53 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i>Percentage of Completion Revenue Recognition &amp;
Related Contract Assets and Contract Liabilities</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As described in footnote 1, &#8220;Revenue Recognition
&#8211; Technology Systems&#8221; and footnote 8, &#8220;Revenues and Contract Accounting&#8221; to the consolidated financial statements,
the Company recognizes revenue over time using a cost-based input methodology in which significant judgement is required to determine
estimated costs to complete projects. These estimated costs are then used to determine the progress towards contract completion and the
corresponding amount of revenue to recognize. In addition, contract assets on uncompleted contracts represent cumulative revenues in excess
of billings on uncompleted contracts accounted for under the percentage of completion contract method. Contract liabilities on uncompleted
contracts represent billings that exceed cumulative revenues recognized on uncompleted contracts accounted for under the percentage of
completion contract method.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We identified this percentage of completion revenue
recognition as a critical audit matter. Auditing management&#8217;s estimates and judgments regarding forecasts of total estimated costs
to complete projects is especially challenging and complex.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The primary procedures we performed to address this
critical audit matter included (a) evaluated the reasonableness of management&#8217;s cost estimates to complete projects by gaining an
understanding of the management&#8217;s process to develop the estimates, comparing them to historical information, year-to-date current
information, information available on projects subsequent to year end, and other supporting information, (b) performed ratio analysis
and gross margin comparisons when applicable on a sample of technology systems revenues (c) agreed cost details to supporting documents,
(d) confirmed billings with customers and/or traced cash receipts to bank statements, (e) recomputed the revenue earned and recognized,
and (f) recomputed the contract asset or liability</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We agree with management&#8217;s conclusions.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i>Analysis of Liquidity and Going Concern</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As summarized in Footnote 2 &#8220;Liquidity&#8221;
to the consolidated financial statements, the Company has a history of net losses and net cash used in operating activities and believes
such conditions will continue for a period of time into the future. These are considered adverse conditions or events that lead management
to consider whether there is substantial doubt about the ability of the Company to continue as a going concern for a reasonable period
of time or whether such concerns are alleviated with management&#8217;s plans.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We identified the going concern risk analysis as a
critical audit matter. Auditing management&#8217;s going concern analysis including their process to develop the analysis and the projections
of future cash flows, operating trends, and assessments of internal and external matters that may affect the Company&#8217;s future operations
and cash flows involved a high degree of subjectivity. Additionally, auditing management&#8217;s plans to address the going concern risk
involved highly subjective auditor judgment.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The primary procedures we performed to address this
critical audit matter included (a) assessed the reasonableness of management&#8217;s process for developing their assessment of whether
a going concern risk exists, (b) assessed the reasonableness of assumptions management used in their future cash flow projections, consideration
of positive and negative evidence impacting management&#8217;s forecasts, and consideration of the Company&#8217;s financing arrangements
in place as of the report date, (c) developed our own independent calculation of expected source and use of funds and needs of the Company
over the one year period from the date of issuance of the consolidated financial statements, (d) tested management&#8217;s bank reconciliations
and confirmed cash balances as of December 31, 2023 with the banks and inspected the bank balances after the March 2024 capital raise
(e) identified management&#8217;s plans for dealing with the adverse conditions and events discussed above and assessed the reasonableness
of the assumptions of such plans, (f) assessed whether it is probable that management&#8217;s plans, when implemented, will mitigate the
adverse effects of the conditions and events discussed above, (g) concluded whether substantial doubt exists as to whether the Company
can continue as a going concern for a period of one year after the consolidated financial statements are issued and (h) considered the
effect of such conclusion on the consolidated financial statement disclosures and our report of an independent registered public accounting
firm.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We agree with management&#8217;s conclusions.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">/s/ Salberg &amp; Company, P.A.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><i>&#160;</i></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="xdx_90A_edei--AuditorName_c20230101__20231231" title="Auditor Name"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000056" name="dei:AuditorName">SALBERG &amp; COMPANY, P.A.</ix:nonNumeric></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We have served as the Company&#8217;s auditor since
2013</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="xdx_904_edei--AuditorLocation_c20230101__20231231" title="Auditor Location"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" id="Fact000058" name="dei:AuditorLocation">Boca Raton, Florida</ix:nonNumeric></span></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">April 1,
2024</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 54 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span id="a_051"></span>CONSOLIDATED BALANCE SHEETS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" id="xdx_301_111_zuskWySAt3n" summary="xdx: Statement - CONSOLIDATED BALANCE SHEETS" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_497_20231231" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_496_20221231" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: right">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AssetsAbstract_iB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">ASSETS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AssetsCurrentAbstract_i01B" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;CURRENT ASSETS:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--Cash_i02I_pp0p0_maACzs4d_zPGI4yruYgE4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; width: 66%">&#160;Cash</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2023-12-31" id="Fact000066" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,441,842</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2022-12-31" id="Fact000067" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,121,092</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AccountsReceivableNetCurrent_i02I_pp0p0_maACzs4d_zOzjWz84fY69" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Accounts receivable, net</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31" id="Fact000069" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,462,463</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2022-12-31" id="Fact000070" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,418,263</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--ContractWithCustomerAssetNetCurrent_i02I_pp0p0_maACzs4d_zBF2nzFTRwP5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Contract assets</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2023-12-31" id="Fact000072" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">641,947</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2022-12-31" id="Fact000073" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">425,722</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--InventoryNet_i02I_pp0p0_maACzs4d_z9rL1Ps0g5Zi" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt">&#160;Inventory</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000075" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,526,165</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2022-12-31" id="Fact000076" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,428,360</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--PrepaidExpenseAndOtherAssetsCurrent_i02I_pp0p0_maACzs4d_zBxZT9i4xCre" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">&#160;Prepaid expenses and other current assets</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000078" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">184,478</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2022-12-31" id="Fact000079" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">441,320</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--AssetsCurrent_i02TI_pp0p0_mtACzs4d_maAzfvW_zeFnT5csvXXk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">&#160;Total Current Assets</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000081" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,256,895</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2022-12-31" id="Fact000082" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,834,757</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--PropertyPlantAndEquipmentNet_i02I_pp0p0_maAzfvW_zwy9IfH4x56g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Property and equipment, net</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact000084" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">726,507</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31" id="Fact000085" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">629,490</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i02I_pp0p0_maAzfvW_zFGaieHsedUb" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Operating lease right of use asset</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000087" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,373,155</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" id="Fact000088" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,689,931</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--SecurityDeposit_i02I_pp0p0_maAzfvW_zO9SyPGGjEG1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Security deposit</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:SecurityDeposit" contextRef="AsOf2023-12-31" id="Fact000090" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">550,000</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:SecurityDeposit" contextRef="AsOf2022-12-31" id="Fact000091" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">600,000</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--OtherAssetsAbstract_iB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;OTHER ASSETS:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--NotesAndLoansReceivableNetNoncurrent_i01I_pp0p0_maOAzuBB_zGPA7h7vCSPi" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Note Receivable, net</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetNoncurrent" contextRef="AsOf2023-12-31" id="Fact000096" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">153,750</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0097">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01I_pp0p0_maOAzuBB_z9bYQBtnaT0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Patents and trademarks, net</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-12-31" id="Fact000099" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">129,140</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2022-12-31" id="Fact000100" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">69,733</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_ecustom--CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer_i01I_pp0p0_maOAzuBB_zCm5eO0g3Aq6" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">&#160;Software development costs, net</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" contextRef="AsOf2023-12-31" id="Fact000102" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">652,838</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" contextRef="AsOf2022-12-31" id="Fact000103" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">265,208</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OtherAssets_i01TI_pp0p0_mtOAzuBB_maAzfvW_zO1zASTaeSi8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">&#160;Total Other Assets</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherAssets" contextRef="AsOf2023-12-31" id="Fact000105" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">935,728</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherAssets" contextRef="AsOf2022-12-31" id="Fact000106" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">334,941</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--Assets_iTI_pp0p0_mtAzfvW_zgO3DX6eFlrf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt">&#160;TOTAL ASSETS</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-12-31" id="Fact000108" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,842,285</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2022-12-31" id="Fact000109" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,089,119</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">See accompanying notes to the consolidated financial
statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>


<!-- Field: Page; Sequence: 55 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>CONSOLIDATED BALANCE SHEETS (CONTINUED)</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LiabilitiesAndStockholdersEquityAbstract_iB" style="vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;LIABILITIES
    AND STOCKHOLDERS' EQUITY</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LiabilitiesCurrentAbstract_i01B" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;CURRENT
    LIABILITIES:</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsPayableCurrent_i02I_pp0p0_maLCzzG9_zx8QDugb2Arg" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; width: 66%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Accounts
    payable</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000117" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">595,634</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2022-12-31" id="Fact000118" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,290,390</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OtherNotesPayableCurrent_i02I_pp0p0_maLCzzG9_zo5ATG9tbkJc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Notes
    payable - financing agreements</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000120" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">41,976</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2022-12-31" id="Fact000121" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">74,575</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AccruedLiabilitiesCurrent_i02I_pp0p0_maLCzzG9_zsOVQI55z4v" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Accrued
    expenses</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000123" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">164,113</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2022-12-31" id="Fact000124" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">453,023</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FinanceLeaseLiabilityCurrent_i02I_pp0p0_maLCzzG9_zB6dNzl8m4va" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Equipment
    financing payable-current portion</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0126">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityCurrent" contextRef="AsOf2022-12-31" id="Fact000127" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">22,851</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityCurrent_i02I_pp0p0_maLCzzG9_zDpQ8R2tuvvd" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Operating
    lease obligations-current portion</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000129" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">779,087</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2022-12-31" id="Fact000130" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">696,869</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ContractWithCustomerLiabilityCurrent_i02I_pp0p0_maLCzzG9_zdOqLe1Qxab8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Contract
    liabilities</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000132" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,666,243</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2022-12-31" id="Fact000133" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">957,997</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--LiabilitiesCurrent_i02TI_pp0p0_mtLCzzG9_maLzlh5_z8PK9ggK1d22" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Total
    Current Liabilities</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000135" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,247,053</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2022-12-31" id="Fact000136" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,495,705</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseLiabilityNoncurrent_i02I_pp0p0_maLzlh5_zBtbsJ0zR9V" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Operating
    lease obligations, less current portion</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" id="Fact000138" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,228,718</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2022-12-31" id="Fact000139" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,542,943</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--Liabilities_i01TI_pp0p0_mtLzlh5_maLASEzsbX_zD2XQCIE4V77" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Total
    Liabilities</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2023-12-31" id="Fact000141" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,475,771</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2022-12-31" id="Fact000142" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,038,648</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CommitmentsAndContingencies_i01I_pp0p0_maLASEzsbX_zWRtcg1ujqA" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Commitments
    and Contingencies (Note 10)</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><b style="display: none"><span style="-sec-ix-hidden: xdx2ixbrl0144">&#8212;</span></b></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><b style="display: none"><span style="-sec-ix-hidden: xdx2ixbrl0145">&#8212;</span></b></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--StockholdersEquityAbstract_iB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;STOCKHOLDERS'
    EQUITY:</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--PreferredStockValue_iI_pp0p0_maTSPzuXd_z4jV20KzC2Jc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -10pt; padding-left: 20pt"><span style="font-size: 10pt">Preferred stock: $<span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231_pdd" title="Preferred stock, par value"><span id="xdx_903_eus-gaap--PreferredStockParOrStatedValuePerShare_c20221231_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000153" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31" id="Fact000155" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span>
    </span><span style="font-size: 10pt">par value, <span id="xdx_905_eus-gaap--PreferredStockSharesAuthorized_c20231231_pdd" title="Preferred stock, shares authorized"><span id="xdx_904_eus-gaap--PreferredStockSharesAuthorized_c20221231_pdd" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000157" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-12-31" id="Fact000159" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,000,000</ix:nonFraction></ix:nonFraction></span></span>
    </span><span style="font-size: 10pt">authorized, <span id="xdx_90E_ecustom--PreferredStockSharesAvailableToBeDesignated_c20231231_pdd" title="Preferred stock, shares designated"><span id="xdx_90D_ecustom--PreferredStockSharesAvailableToBeDesignated_c20221231_pdd" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2023-12-31" id="Fact000161" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2022-12-31" id="Fact000163" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,441,000</ix:nonFraction></ix:nonFraction></span></span>
    </span><span style="font-size: 10pt">shares available to be designated</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -10pt; padding-left: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Series
A redeemable convertible preferred stock, $<span id="xdx_902_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_901_eus-gaap--PreferredStockParOrStatedValuePerShare_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000165" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000167" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10</ix:nonFraction></ix:nonFraction></span></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">stated value per share <span id="xdx_909_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_zDopPvIOGJx9" title="Preferred stock, shares designated"><span id="xdx_906_ecustom--PreferredStockSharesAvailableToBeDesignated_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_zOXDKXQjyihb" title="Preferred stock, shares designated"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000169" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="duot:PreferredStockSharesAvailableToBeDesignated" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000171" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">500,000</ix:nonFraction></ix:nonFraction></span></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">shares designated; <span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><span id="xdx_90B_eus-gaap--PreferredStockSharesIssued_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_908_eus-gaap--PreferredStockSharesOutstanding_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000173" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000175" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000177" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000179" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">issued and outstanding at December 31, 2023 and
December 31, 2022, respectively, convertible into common stock at $<span id="xdx_90A_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_909_eus-gaap--PreferredStockRedemptionPricePerShare_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000181" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember" id="Fact000183" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.30</ix:nonFraction></ix:nonFraction></span></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">per share</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--PreferredStockValue_iI_pp0p0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_zk9HWYKitX3a" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0185">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--PreferredStockValue_iI_pp0p0_maTSPzuXd_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesAPreferredStockMember_zPWgGgPwD6a9" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0187">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -10pt; padding-left: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Series
B convertible preferred stock, $<span id="xdx_903_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_902_eus-gaap--PreferredStockParOrStatedValuePerShare_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000189" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000191" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">stated value per share, <span id="xdx_908_eus-gaap--PreferredStockSharesAuthorized_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, shares designated"><span id="xdx_90F_eus-gaap--PreferredStockSharesAuthorized_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, shares designated"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000193" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000195" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,000</ix:nonFraction></ix:nonFraction></span></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">shares designated; <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zMkYnIGnaNX7" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000197" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000199" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and <span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zBGh42zmKkQd" title="Preferred stock, shares issued"><span id="xdx_90B_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zBS8GOT0QmZ5" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000201" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000203" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">issued and outstanding at December 31, 2023 and
December 31, 2022, respectively, convertible into common stock at $<span id="xdx_90B_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_90A_eus-gaap--PreferredStockRedemptionPricePerShare_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000205" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact000207" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7</ix:nonFraction></ix:nonFraction></span></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">per share</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--PreferredStockValue_pp0p0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zSkv4mpTxCH" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0209">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--PreferredStockValue_pp0p0_maTSPzuXd_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z02gks8fm4td" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0211">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -10pt; padding-left: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Series
    C convertible preferred stock, $<span id="xdx_90C_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_903_eus-gaap--PreferredStockParOrStatedValuePerShare_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000213" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000215" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span> stated value per share, <span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, shares authorized"><span id="xdx_908_eus-gaap--PreferredStockSharesAuthorized_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred Stock, Shares Authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000217" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000219" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></ix:nonFraction></span></span> shares designated; <span id="xdx_908_eus-gaap--PreferredStockSharesIssued_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90D_eus-gaap--PreferredStockSharesOutstanding_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, shares oustanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000221" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000223" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90E_eus-gaap--PreferredStockSharesOutstanding_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, shares oustanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000225" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000227" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> issued and outstanding at December
    31, 2023 and December 31, 2022, respectively, convertible into common stock at $<span id="xdx_90C_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_90B_eus-gaap--PreferredStockRedemptionPricePerShare_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000229" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact000231" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.50</ix:nonFraction></ix:nonFraction></span></span> per share</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PreferredStockValue_pp0p0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zycljQcyFaM5" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0233">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--PreferredStockValue_pp0p0_maTSPzuXd_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zyqoErpvHkw5" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0235">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -10pt; padding-left: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Series
    D convertible preferred stock, $<span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, par value"><span id="xdx_90C_eus-gaap--PreferredStockParOrStatedValuePerShare_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000237" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000239" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span> stated value per share, <span id="xdx_907_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z0JqLJaiFyVl" title="Preferred stock, shares authorized"><span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000241" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000243" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,000</ix:nonFraction></ix:nonFraction></span></span> shares designated; <span id="xdx_90F_eus-gaap--PreferredStockSharesIssued_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90C_eus-gaap--PreferredStockSharesOutstanding_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000245" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000247" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,299</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_908_eus-gaap--PreferredStockSharesIssued_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, shares issued"><span id="xdx_90D_eus-gaap--PreferredStockSharesOutstanding_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000249" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000251" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,299</ix:nonFraction></ix:nonFraction></span></span> issued and outstanding at
    December 31, 2023 and December 31, 2022, respectively, convertible into common stock at $<span id="xdx_90D_eus-gaap--PreferredStockRedemptionPricePerShare_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><span id="xdx_90C_eus-gaap--PreferredStockRedemptionPricePerShare_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_pdd" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000253" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000255" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3</ix:nonFraction></ix:nonFraction></span></span> per share</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--PreferredStockValue_pp0p0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zCt8ZBotxdzf" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000257" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--PreferredStockValue_pp0p0_maTSPzuXd_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zZXqHngfhKQa" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact000259" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -10pt; padding-left: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Series
    E convertible preferred stock, $<span id="xdx_90A_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zhA8jrVJXPM9" title="Preferred stock, par value"><span id="xdx_900_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zN9Zi9W2M6a" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000261" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000263" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span> stated value per share, <span id="xdx_902_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zfhm6OSezRrj" title="Preferred stock, shares authorized"><span id="xdx_901_eus-gaap--PreferredStockSharesAuthorized_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zcjAbQFTZwU6" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000265" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000267" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">30,000</ix:nonFraction></ix:nonFraction></span></span> shares designated; <span id="xdx_907_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zQrQx5n2MX8j" title="Preferred stock, shares issued"><span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zKkO31BtxeSa" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000269" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000271" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">11,500</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_90F_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zkKW6imy8Ooe" title="Preferred stock, shares issued"><span id="xdx_90E_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z0MoeB0b3q92" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000273" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000275" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> issued and outstanding at December
    31, 2023 and December 31, 2022, respectively, convertible into common stock at $<span id="xdx_906_eus-gaap--PreferredStockRedemptionPricePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zH9DwMJWKNUf" title="Preferred stock, conversion price per share"><span id="xdx_906_eus-gaap--PreferredStockRedemptionPricePerShare_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zz97wQVPMtV3" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000277" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000279" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3</ix:nonFraction></ix:nonFraction></span></span> per share</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--PreferredStockValue_iI_pp0p0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zdJpqpCZygmc" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact000281" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--PreferredStockValue_iI_pp0p0_maTSPzuXd_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zxhFaJXgQyO2" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0283">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -10pt; padding-left: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Series
    F convertible preferred stock, $<span id="xdx_902_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z21U89VLw9S3" title="Preferred stock, par value"><span id="xdx_90C_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z8Qr9gxaAeCg" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000285" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000287" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></ix:nonFraction></span></span> stated value per share, <span id="xdx_901_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zPjRlPMneS5g" title="Preferred stock, shares authorized"><span id="xdx_90C_eus-gaap--PreferredStockSharesAuthorized_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zWdJ0MvVbN27" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000289" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000291" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></ix:nonFraction></span></span> shares designated; <span id="xdx_902_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z9snV6CJpref" title="Preferred stock, shares issued"><span id="xdx_90B_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zsDrcDhQdMld" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000293" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000295" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zF62pOItavXg" title="Preferred stock, shares issued"><span id="xdx_90B_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z2VrFOslMLm" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000297" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000299" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> issued and outstanding at December
    31, 2023 and December 31, 2022, respectively, convertible into common stock at $<span id="xdx_90A_eus-gaap--PreferredStockRedemptionPricePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zxIKVoE5vA1h" title="Preferred stock, conversion price per share"><span id="xdx_904_eus-gaap--PreferredStockRedemptionPricePerShare_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z1qRrOlzjD0j" title="Preferred stock, conversion price per share"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000301" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockRedemptionPricePerShare" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact000303" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.20</ix:nonFraction></ix:nonFraction></span></span> per share</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PreferredStockValue_iI_pp0p0_maTSPzuXd_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z2rnmuMWo1bj" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0305">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PreferredStockValue_iI_pp0p0_maTSPzuXd_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zlkoiMpHtFJ" title="Preferred stock, value" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0307">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CommonStockValue_iI_pp0p0_maTSPzuXd_zzJx4RoxmBll" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -10pt; padding-left: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Common
    stock: $<span id="xdx_902_eus-gaap--CommonStockParOrStatedValuePerShare_c20231231_pdd" title="Common stock, par value"><span id="xdx_901_eus-gaap--CommonStockParOrStatedValuePerShare_c20221231_pdd" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000312" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31" id="Fact000314" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_908_eus-gaap--CommonStockSharesAuthorized_c20231231_pdd" title="Common stock, shares authorized"><span id="xdx_909_eus-gaap--CommonStockSharesAuthorized_c20221231_pdd" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000316" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2022-12-31" id="Fact000318" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">500,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized, <span id="xdx_907_eus-gaap--CommonStockSharesIssued_c20231231_pdd" title="Common stock, shares issued"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-12-31" id="Fact000320" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,306,663</ix:nonFraction></span> and <span id="xdx_906_eus-gaap--CommonStockSharesIssued_c20221231_pdd" title="Common stock, shares issued"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2022-12-31" id="Fact000322" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,156,876</ix:nonFraction></span> shares issued, <span id="xdx_90F_eus-gaap--CommonStockSharesOutstanding_c20231231_pdd" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-12-31" id="Fact000324" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,305,339</ix:nonFraction></span> and <span id="xdx_901_eus-gaap--CommonStockSharesOutstanding_c20221231_pdd" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-12-31" id="Fact000326" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,155,552</ix:nonFraction></span> &#160;shares
    outstanding at December 31, 2023 and December 31, 2022, respectively</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-12-31" id="Fact000309" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,306</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2022-12-31" id="Fact000310" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,156</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--AdditionalPaidInCapitalCommonStock_iI_pp0p0_maTSPzuXd_zRLNJeYOuYQe" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Additional
    paid-in-capital</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2023-12-31" id="Fact000328" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">69,120,199</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2022-12-31" id="Fact000329" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">56,562,600</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RetainedEarningsAccumulatedDeficit_iI_pp0p0_maTSPzuXd_zqrmJ13DexXi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Accumulated
    deficit</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31" id="Fact000331" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">63,603,552</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2022-12-31" id="Fact000332" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">52,361,834</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_400_ecustom--TotalStockAndPaidInCapitalAndRetainedEarningsDeficit_iTI_pp0p0_maSEzm3Z_mtTSPzuXd_z0OpTofJSJG" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Sub-total</span></td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" contextRef="AsOf2023-12-31" id="Fact000334" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,523,966</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" contextRef="AsOf2022-12-31" id="Fact000335" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,207,923</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--TreasuryStockCommonValue_iNI_pp0p0_di_msSEzm3Z_zmmNIarBCgBa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 20pt; text-indent: -10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Less:&#160;&#160;Treasury
    stock (<span id="xdx_90D_eus-gaap--TreasuryStockCommonShares_c20231231_pdd" title="Treasury stock, common shares"><span id="xdx_90C_eus-gaap--TreasuryStockCommonShares_c20221231_pdd" title="Treasury stock, common shares"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2023-12-31" id="Fact000340" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2022-12-31" id="Fact000342" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,324</ix:nonFraction></ix:nonFraction></span></span> shares of common stock at December 31, 2023 and December 31, 2022)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockCommonValue" contextRef="AsOf2023-12-31" id="Fact000337" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">157,452</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:TreasuryStockCommonValue" contextRef="AsOf2022-12-31" id="Fact000338" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">157,452</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--StockholdersEquity_iTI_pp0p0_mtSEzm3Z_maLASEzsbX_z8i8SSRrUzee" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Total
    Stockholders' Equity</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000344" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,366,514</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31" id="Fact000345" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,050,471</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LiabilitiesAndStockholdersEquity_iTI_pp0p0_mtLASEzsbX_zA8ckZZ8Pjv1" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Total
    Liabilities and Stockholders' Equity</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000347" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,842,285</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2022-12-31" id="Fact000348" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,089,119</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">See accompanying notes to the consolidated financial
statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>


<!-- Field: Page; Sequence: 56 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><span id="a_052"></span><b>CONSOLIDATED STATEMENTS OF OPERATIONS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b></b></p>

<table cellpadding="0" cellspacing="0" id="xdx_308_113_zrBITDPSRSL9" summary="xdx: Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_496_20230101__20231231_zRlgEhjTpEB4" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_49F_20220101__20221231_zv3NmUjI3592" style="text-align: center">&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: right">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">For the Years Ended <br/> December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: right">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--RevenuesAbstract_iB_zEYjEoMgfob6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">REVENUES:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; width: 66%; text-align: left">Technology systems</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--Revenues_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ProductMember_zkUyZLUwz8Z9" title="Total Revenues" style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-12-31_us-gaap_ProductMember" id="Fact000353" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,618,022</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--Revenues_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ProductMember_zxdLuzWv6TX1" title="Total Revenues" style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-01-012022-12-31_us-gaap_ProductMember" id="Fact000355" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,190,292</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">Services and consulting</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--Revenues_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ServiceOtherMember_zOmsRtGCspgk" title="Total Revenues" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-12-31_us-gaap_ServiceOtherMember" id="Fact000357" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,853,176</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--Revenues_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ServiceOtherMember_zkjO5hYEftV2" title="Total Revenues" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-01-012022-12-31_us-gaap_ServiceOtherMember" id="Fact000359" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,822,074</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--Revenues_maGPz9FX_z97y1hkpOx9b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">Total Revenues</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31" id="Fact000361" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,471,198</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2022-01-012022-12-31" id="Fact000362" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,012,366</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--CostOfGoodsAndServicesSoldAbstract_iB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">COST OF REVENUES:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Technology systems</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--CostOfRevenue_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ProductMember_zqmYoISzXWif" title="Total Cost of Revenues" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2023-01-012023-12-31_us-gaap_ProductMember" id="Fact000367" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,352,247</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--CostOfRevenue_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ProductMember_zVKerd0vBhN8" title="Total Cost of Revenues" style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2022-01-012022-12-31_us-gaap_ProductMember" id="Fact000369" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,376,649</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">&#160;Services and consulting</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--CostOfRevenue_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ServiceOtherMember_zgK96VjaK1z5" title="Total Cost of Revenues" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2023-01-012023-12-31_us-gaap_ServiceOtherMember" id="Fact000371" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,810,070</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--CostOfRevenue_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__us-gaap--ServiceOtherMember_zK5Dt3lTl9H9" title="Total Cost of Revenues" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2022-01-012022-12-31_us-gaap_ServiceOtherMember" id="Fact000373" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,887,614</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--CostOfRevenue_msGPz9FX_zSv4pQmDTrca" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">&#160;Total Cost of Revenues</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2023-01-01to2023-12-31" id="Fact000375" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,162,317</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2022-01-012022-12-31" id="Fact000376" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,264,263</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--GrossProfit_iT_pp0p0_mtGPz9FX_maOILzVxV_z8rqL1XpOuwg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">GROSS MARGIN</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-01to2023-12-31" id="Fact000378" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,308,881</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2022-01-012022-12-31" id="Fact000379" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,748,103</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--OperatingExpensesAbstract_iB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">OPERATING EXPENSES:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--SellingAndMarketingExpense_i01_pp0p0_maOCAEzmyR_zjee0j0HNPSl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Sales and marketing</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000384" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,493,309</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2022-01-012022-12-31" id="Fact000385" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,337,186</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ResearchAndDevelopmentExpense_i01_pp0p0_maOCAEzmyR_zrkAhrNKNm37" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">&#160;Research and development</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000387" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,812,951</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-01-012022-12-31" id="Fact000388" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,651,064</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--GeneralAndAdministrativeExpense_i01_pp0p0_maOCAEzmyR_zaXSmISiNP26" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">&#160;General and Administration</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000390" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,449,187</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2022-01-012022-12-31" id="Fact000391" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,625,002</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OperatingCostsAndExpenses_i01T_pp0p0_mtOCAEzmyR_msOILzVxV_zwQoFv8avc9e" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">&#160;Total Operating Expenses</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" contextRef="From2023-01-01to2023-12-31" id="Fact000393" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,755,447</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingCostsAndExpenses" contextRef="From2022-01-012022-12-31" id="Fact000394" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,613,252</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OperatingIncomeLoss_iT_pp0p0_mtOILzVxV_maNILze4i_zw8sjuqIN5Wb" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">LOSS FROM OPERATIONS</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000396" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">11,446,566</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-012022-12-31" id="Fact000397" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">6,865,149</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherIncomeAndExpensesAbstract_iB" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">OTHER INCOME (EXPENSES):</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--InterestExpense_i01N_pp0p0_di_msNIEzzDs_z1YYbC5E21o1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left">Interest expense</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000402" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,159</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2022-01-012022-12-31" id="Fact000403" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,191</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--OtherNonoperatingIncomeExpense_i01_pp0p0_maNIEzzDs_zbyailH0lvgl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">Other income, net</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000405" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">212,007</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2022-01-012022-12-31" id="Fact000406" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,557</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--NonoperatingIncomeExpense_i01T_pp0p0_mtNIEzzDs_maNILze4i_zwwipubZKh62" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 10pt; text-align: left; padding-bottom: 1pt">Total Other Income (Expenses)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000408" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">204,848</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2022-01-012022-12-31" id="Fact000409" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">366</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--NetIncomeLoss_iT_pp0p0_mtNILze4i_zypv04TNcggf" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt">NET LOSS</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000411" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">11,241,718</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31" id="Fact000412" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">6,864,783</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt">Basic and Diluted Net Loss Per Share</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><span id="xdx_90E_eus-gaap--EarningsPerShareBasic_c20230101__20231231_pdd" title="Net loss per share, Basic"><span id="xdx_90F_eus-gaap--EarningsPerShareDiluted_c20230101__20231231_pdd" title="Net loss per share, Diluted">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-01to2023-12-31" id="Fact000414" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-12-31" id="Fact000416" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares">1.56</ix:nonFraction></ix:nonFraction></span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><span id="xdx_90C_eus-gaap--EarningsPerShareBasic_c20220101__20221231_pdd" title="Net loss per share, Basic"><span id="xdx_900_eus-gaap--EarningsPerShareDiluted_c20220101__20221231_pdd" title="Net loss per share, Diluted">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-01-012022-12-31" id="Fact000418" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-01-012022-12-31" id="Fact000420" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="USDPShares">1.11</ix:nonFraction></ix:nonFraction></span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">Weighted Average Shares-Basic and Diluted</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><span id="xdx_90E_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20230101__20231231_pdd" title="Weighted average shares, Basic"><span id="xdx_904_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_c20230101__20231231_pdd" title="Weighted average shares, Diluted"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-01to2023-12-31" id="Fact000422" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-12-31" id="Fact000424" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,204,177</ix:nonFraction></ix:nonFraction></span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><span id="xdx_90C_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_c20220101__20221231_pdd" title="Weighted average shares, Basic"><span id="xdx_906_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_c20220101__20221231_pdd" title="Weighted average shares, Diluted"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-12-31" id="Fact000426" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-01-012022-12-31" id="Fact000428" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">6,175,193</ix:nonFraction></ix:nonFraction></span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">See accompanying notes to the consolidated financial
statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>


<!-- Field: Page; Sequence: 57 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span id="a_053"></span>CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS'
EQUITY</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<table cellpadding="0" cellspacing="0" id="xdx_302_114_zwOvLfJdQCue" summary="xdx: Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY" style="font: 9pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_4B7_us-gaap--StatementEquityComponentsAxis_custom--PreferredStockBMember_z61X9r1dnFG1" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_4B9_us-gaap--StatementEquityComponentsAxis_custom--PreferredStockCMember_zHPcQa3OB0F6" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_4B4_us-gaap--StatementEquityComponentsAxis_custom--PreferredStockDMember_zLLrkOpijSza" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_custom--PreferredStockEMember_zX0lm4nEcxaa" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_4BB_us-gaap--StatementEquityComponentsAxis_custom--PreferredStockFMember_zCvF2y9rfaFl" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_z6wrfG9MBKG4" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_4B5_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_z915d8HmGlvh" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_4B6_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_z7kSszcBJ6Ne" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_4B2_us-gaap--StatementEquityComponentsAxis_us-gaap--TreasuryStockCommonMember_zUAChWoXuLek" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_4BE_zsKszLZQ7zx6" style="text-align: center; font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Preferred Stock B</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Preferred Stock C</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Preferred Stock D</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Preferred Stock E</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Preferred Stock F</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="6" style="padding-bottom: 1pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">Common Stock</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">Additional</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">Accumulated</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt"># of Shares</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Amount</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt"># of Shares</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Amount</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt"># of Shares</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Amount</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt"># of Shares</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Amount</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt"># of Shares</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Amount</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt"># of Shares</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Amount</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Paid-in-Capital</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Deficit</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Treasury
    Stock</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">Total</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
  <tr id="xdx_439_c20220101__20221231_eus-gaap--StockholdersEquity_iS_zenPOpdt1dHl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Balance December 31, 2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockBMember_zxfHnfVWBR9" title="Beginning balance, shares" style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_custom_PreferredStockBMember" id="Fact000441" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">851</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_custom_PreferredStockBMember" id="Fact000430" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--SharesOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockCMember_z74fh3GzT2Dl" title="Beginning balance, shares" style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_custom_PreferredStockCMember" id="Fact000443" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,500</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_custom_PreferredStockCMember" id="Fact000431" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--SharesOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockDMember_zRK5icV6XFXj" title="Beginning balance, shares" style="width: 1%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0445">&#8212;</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0432">&#8212;</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharesOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_z47AEJxrNbGl" title="Beginning balance, shares" style="width: 1%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0447">&#8212;</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0433">&#8212;</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockFMember_zrlXdcpqQhe1" title="Beginning balance, shares" style="width: 1%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0449">&#8212;</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0434">&#8212;</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharesOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zmIz69Ot64Xa" title="Beginning balance, shares" style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" id="Fact000451" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,111,047</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" id="Fact000435" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,111</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000436" format="ixt:numdotdecimal" decimals="0" unitRef="USD">46,431,874</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember" id="Fact000437" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">45,497,051</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember" id="Fact000438" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">157,452</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 1%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31" id="Fact000439" format="ixt:numdotdecimal" decimals="0" unitRef="USD">781,485</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SeriesCPreferredStockConvertedToCommonStock_zgbsaHzIjje" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Series C preferred stock converted to common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0453">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--SeriesCPreferredStockConvertedToCommonStockShares_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockCMember_z6zXTbbiW3K1" title="Series C preferred stock converted to common stock, shares" style="text-align: right">(<ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStockShares" contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember" id="Fact000464" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="Shares">2,500</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember" id="Fact000454" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0455">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0456">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0457">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--SeriesCPreferredStockConvertedToCommonStockShares_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zS9NrjWRU3i9" title="Series C preferred stock converted to common stock, shares" style="text-align: right"><ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStockShares" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000466" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">454,546</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000458" format="ixt:numdotdecimal" decimals="0" unitRef="USD">455</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="duot:SeriesCPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000459" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">453</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0460">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0461">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"/><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0462">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--SeriesBPreferredStockConvertedToCommonStock_zD4BAJbcY1Dk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Series B preferred stock converted to common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--SeriesBPreferredStockConvertedToCommonStockShares_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockBMember_z2qE2NZ65GSg" title="Series B preferred stock converted to common stock, shares" style="text-align: right">(<ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStockShares" contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember" id="Fact000479" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="Shares">851</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember" id="Fact000468" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0469">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0470">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0471">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0472">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_ecustom--SeriesBPreferredStockConvertedToCommonStockShares_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zihwXHyBJWsg" title="Series B preferred stock converted to common stock, shares" style="text-align: right"><ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStockShares" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000481" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">121,572</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000473" format="ixt:numdotdecimal" decimals="0" unitRef="USD">122</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="duot:SeriesBPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000474" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">121</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0475">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0476">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"/><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0477">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_ecustom--SeriesDPreferredStockConvertedToCommonStock_zNrpfLN19cDb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Series D preferred stock converted to common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0483">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0484">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--SeriesDPreferredStockConvertedToCommonStockShares_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockDMember_zxTdYS5pAy8f" title="Series D preferred stock converted to common stock, shares" style="text-align: right"><ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStockShares" contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember" id="Fact000494" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,299</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember" id="Fact000485" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0486">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0487">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0488">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000489" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,298,999</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0490">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0491">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"/><td style="text-align: right"><ix:nonFraction name="duot:SeriesDPreferredStockConvertedToCommonStock" contextRef="From2022-01-012022-12-31" id="Fact000492" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,299,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zklWNOUr1OOc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Stock options compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0496">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0497">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0498">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0499">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0500">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0501">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000502" format="ixt:numdotdecimal" decimals="0" unitRef="USD">819,191</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0503">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0504">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"/><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2022-01-012022-12-31" id="Fact000505" format="ixt:numdotdecimal" decimals="0" unitRef="USD">819,191</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--StockIssuedDuringPeriodValueOther_zYE0HOaE0ucb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Common stock issued for cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0507">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0508">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0509">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0510">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0511">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--StockIssuedDuringPeriodSharesOther_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z2D2AshanZKc" title="Common stock issued for cash, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesOther" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000518" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,425,752</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000512" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,425</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000513" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,798,579</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0514">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0515">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"/><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2022-01-012022-12-31" id="Fact000516" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,801,004</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--PaymentsOfStockIssuanceCosts_iN_di_zIfyxVdZVO7l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Stock issuance cost</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0520">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0521">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0522">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0523">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0524">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0525">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000526" format="ixt:numdotdecimal" decimals="0" unitRef="USD">942,926</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"/><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2022-01-012022-12-31" id="Fact000529" format="ixt:numdotdecimal" decimals="0" unitRef="USD">942,926</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_zaBrJWxdWHV5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Stock issued for services</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0531">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0532">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0533">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0534">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0535">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zkwvKvAWEaKd" title="Stock issued for services, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000542" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">43,959</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember" id="Fact000536" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000537" format="ixt:numdotdecimal" decimals="0" unitRef="USD">157,457</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0538">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0539">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"/><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-12-31" id="Fact000540" format="ixt:numdotdecimal" decimals="0" unitRef="USD">157,500</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--NetIncomeLoss_zxX5vZ0civs3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net loss for the year ended December 31, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0544">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0545">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0546">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0547">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0548">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0549">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0550">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember" id="Fact000551" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">6,864,783</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0552">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31" id="Fact000553" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">6,864,783</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_433_c20230101__20231231_eus-gaap--StockholdersEquity_iS_zSNITPKFv4zb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockBMember_zdDOiiaXVpyd" title="Beginning balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0566">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0555">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockCMember_zqkPC90bC98h" title="Beginning balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0568">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0556">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockDMember_zAgqINicl5A9" title="Beginning balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_custom_PreferredStockDMember" id="Fact000570" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,299</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_custom_PreferredStockDMember" id="Fact000557" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_zpFvSv83cZzg" title="Beginning balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0572">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0558">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockFMember_zqsigI3NBgfk" title="Beginning balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0574">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0559">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharesOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zYh9Xkp5Miuk" title="Beginning balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000576" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,156,876</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000560" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,156</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000561" format="ixt:numdotdecimal" decimals="0" unitRef="USD">56,562,600</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" id="Fact000562" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">52,361,834</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember" id="Fact000563" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">157,452</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31" id="Fact000564" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,050,471</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_ecustom--SeriesEPreferredStockIssued_iP3us-gaap--SharesOutstanding_zA9VODT9qTW5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Series E preferred stock issued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0578">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0579">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0580">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--SeriesEPreferredStockIssuedShares_iP3custom--SeriesEPreferredStockIssued_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_zNjLlmJIpRi2" title="Series E preferred stock issued, shares" style="text-align: right"><ix:nonFraction name="duot:SeriesEPreferredStockIssuedShares" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="Fact000589" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">6,500</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="Fact000581" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0582">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0583">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000584" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,499,993</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0585">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0586">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesEPreferredStockIssued" contextRef="From2023-01-01to2023-12-31" id="Fact000587" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,500,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--SeriesFPreferredStockIssued_iP3custom--SeriesEPreferredStockIssuedShares_z41xxF67JU8h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Series F preferred stock issued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0591">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0592">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0593">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0594">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--SeriesFPreferredStockIssuedShares_iP3custom--SeriesFPreferredStockIssued_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockFMember_zQBWpUEeGwh1" title="Series F preferred stock issued, shares" style="text-align: right"><ix:nonFraction name="duot:SeriesFPreferredStockIssuedShares" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="Fact000602" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="Fact000595" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0596">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000597" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,999,995</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0598">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"/><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0599">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesFPreferredStockIssued" contextRef="From2023-01-01to2023-12-31" id="Fact000600" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,000,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--SeriesFPreferredStockConvertedToSeriesEPreferred_iP3custom--SeriesFPreferredStockIssuedShares_zTqp93FuC8s8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Series F preferred stock exchanged for  Series E preferred</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0604">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0605">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0606">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--SeriesFPreferredStockConvertedToSeriesEPreferredShares_iP3custom--SeriesFPreferredStockConvertedToSeriesEPreferred_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_zRAQ7aKxWAqa" title="Series F preferred stock exchanged to Series E preferred, shares" style="text-align: right"><ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferredShares" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="Fact000615" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember" id="Fact000607" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--SeriesFPreferredStockConvertedToSeriesEPreferredShares_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockFMember_z56oeR1KCD46" title="Series F preferred stock converted to Series E preferred, shares" style="text-align: right">(<ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferredShares" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="Fact000617" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="Shares">5,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="duot:SeriesFPreferredStockConvertedToSeriesEPreferred" contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember" id="Fact000608" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">5</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0609">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0610">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0611">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"/><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0612">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0613">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zCfmbsIghnUg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Stock options compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0619">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0620">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0621">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0622">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0623">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0624">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000625" format="ixt:numdotdecimal" decimals="0" unitRef="USD">573,441</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0626">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0627">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-01to2023-12-31" id="Fact000628" format="ixt:numdotdecimal" decimals="0" unitRef="USD">573,441</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--PaymentsOfStockIssuanceCosts_iN_di_zjcRGLPeqA65" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Stock issuance cost</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0630">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0631">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0632">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0633">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0634">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0635">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000636" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,797</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0637">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0638">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2023-01-01to2023-12-31" id="Fact000639" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,797</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_zfAfTrapVyBa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Stock issued for services</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0641">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0642">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0643">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0644">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0645">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zZfPPJ3hc4Se" title="Stock issued for services, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="Fact000652" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">38,249</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="Fact000646" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000647" format="ixt:numdotdecimal" decimals="0" unitRef="USD">143,027</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0648">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0649">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-01to2023-12-31" id="Fact000650" format="ixt:numdotdecimal" decimals="0" unitRef="USD">143,065</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_ecustom--StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation_iP3us-gaap--StockIssuedDuringPeriodSharesIssuedForServices_zqYgW06BiaWh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Stock issued under the Employee Stock Purchase Plan for cash and compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0654">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0655">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0656">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0657">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0658">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares_iP3custom--StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z4O7b1SfwJHc" title="Stock issued under the Employee Stock Purchase Plan for cash and compensation, shares" style="text-align: right"><ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="Fact000665" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">111,538</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="Fact000659" format="ixt:numdotdecimal" decimals="0" unitRef="USD">112</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000660" format="ixt:numdotdecimal" decimals="0" unitRef="USD">366,940</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0661">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0662">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" contextRef="From2023-01-01to2023-12-31" id="Fact000663" format="ixt:numdotdecimal" decimals="0" unitRef="USD">367,052</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_zfAKto66A991" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net loss for the year ended December 31, 2023</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0667">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0668">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0669">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0670">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0671">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0672">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0673">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="Fact000674" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">11,241,718</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0675">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000676" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">11,241,718</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_43D_c20230101__20231231_eus-gaap--StockholdersEquity_iE_zv5oEDvq8oW4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockBMember_zftoIyccjB2c" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0689">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0678">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockCMember_zYg7yA028G77" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0691">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0679">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockDMember_zBaQyIBgGwD4" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_custom_PreferredStockDMember" id="Fact000693" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,299</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_custom_PreferredStockDMember" id="Fact000680" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockEMember_z4p0xWkWxTXh" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_custom_PreferredStockEMember" id="Fact000695" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">11,500</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_custom_PreferredStockEMember" id="Fact000681" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__custom--PreferredStockFMember_zb8oTtsVFPva" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0697">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0682">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharesOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zZNlcEXdTQG" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000699" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,306,663</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000683" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,306</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000684" format="ixt:numdotdecimal" decimals="0" unitRef="USD">69,120,199</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" id="Fact000685" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">63,603,552</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember" id="Fact000686" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">157,452</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000687" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,366,514</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">See accompanying notes to the consolidated financial
statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 58 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span id="a_054"></span>CONSOLIDATED STATEMENTS OF CASH FLOWS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b></b></p>

<table cellpadding="0" cellspacing="0" id="xdx_306_112_zeI1yBA3HGJd" summary="xdx: Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_492_20230101_20231231" style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td id="xdx_49A_20220101__20221231_zz4zkpKnXzc3" style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="font: bold 8pt Times New Roman, Times, Serif; text-align: center">For the Years Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--OperatingCashFlowsDirectMethodAbstract_iB_zhJM8uskSnAj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-align: left">Cash from operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--NetIncomeLoss_i01_maNCPBUz112_z9IG43tmCDdj" style="vertical-align: bottom; background-color: White">
    <td style="font: bold 10pt Times New Roman, Times, Serif; width: 66%; text-align: left">Net loss</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000704" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">11,241,718</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-12-31" id="Fact000705" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">6,864,783</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_iB_zmOgpbF61sz2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Adjustments to reconcile net loss to net cash used in operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DepreciationAndAmortization_i01_maNCPBUz112_zgrE7Ei0AQwd" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Depreciation and amortization</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-01to2023-12-31" id="Fact000710" format="ixt:numdotdecimal" decimals="0" unitRef="USD">550,201</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2022-01-012022-12-31" id="Fact000711" format="ixt:numdotdecimal" decimals="0" unitRef="USD">350,192</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--ShareBasedCompensation_i01_maNCPBUz112_zneSe3GFATi1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Stock based compensation</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-01to2023-12-31" id="Fact000713" format="ixt:numdotdecimal" decimals="0" unitRef="USD">710,047</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2022-01-012022-12-31" id="Fact000714" format="ixt:numdotdecimal" decimals="0" unitRef="USD">819,191</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--StockIssuedForServices_i01N_di_msNCPBUz112_zdHdfmbaSyE2" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Stock issued for services</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:StockIssuedForServices" contextRef="From2023-01-01to2023-12-31" id="Fact000716" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">143,065</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:StockIssuedForServices" contextRef="From2022-01-012022-12-31" id="Fact000717" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">157,500</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_i01_maNCPBUz112_zwZUZqEKwjAa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Amortization of operating lease right of use asset</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000719" format="ixt:numdotdecimal" decimals="0" unitRef="USD">316,776</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2022-01-012022-12-31" id="Fact000720" format="ixt:numdotdecimal" decimals="0" unitRef="USD">235,834</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract_i01B_zfEHk3ZFmCkd" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Changes in assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInReceivables_i02N_di_msNCPBUz112_zhNb32n0aKea" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Accounts receivable</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInReceivables" contextRef="From2023-01-01to2023-12-31" id="Fact000725" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,955,800</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInReceivables" contextRef="From2022-01-012022-12-31" id="Fact000726" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,679,720</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_40B_ecustom--IncreaseDecreaseInNotesReceivable_i02N_pp0p0_di_msNCPBUz112_ze9Zqe1nyWV2" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Note receivable</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="duot:IncreaseDecreaseInNotesReceivable" contextRef="From2023-01-01to2023-12-31" id="Fact000728" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">153,750</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0729">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInContractWithCustomerAsset_i02N_di_msNCPBUz112_zyYQZyPLOG4e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Contract assets</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2023-01-01to2023-12-31" id="Fact000731" format="ixt:numdotdecimal" decimals="0" unitRef="USD">216,225</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2022-01-012022-12-31" id="Fact000732" format="ixt:numdotdecimal" decimals="0" unitRef="USD">422,273</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--IncreaseDecreaseInInventories_i02N_di_msNCPBUz112_zLJVIazQFTwd" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;&#160;&#160;Inventory</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-01to2023-12-31" id="Fact000734" format="ixt:numdotdecimal" decimals="0" unitRef="USD">97,804</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2022-01-012022-12-31" id="Fact000735" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,130,022</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--IncreaseDecreaseInSecurityDeposits_i02_maNCPBUz112_zIXjZhqgdAO" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Security deposit</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInSecurityDeposits" contextRef="From2023-01-01to2023-12-31" id="Fact000737" format="ixt:numdotdecimal" decimals="0" unitRef="USD">50,000</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0738">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--IncreaseDecreaseInPrepaidExpense_i02N_di_msNCPBUz112_zblLFJT5AH4a" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Prepaid expenses and other current assets</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000740" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">744,771</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2022-01-012022-12-31" id="Fact000741" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">266,539</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--IncreaseDecreaseInAccountsPayableTrade_i02_maNCPBUz112_zzVm3boUTDLe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Accounts payable</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" contextRef="From2023-01-01to2023-12-31" id="Fact000743" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,694,756</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" contextRef="From2022-01-012022-12-31" id="Fact000744" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,245,890</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncreaseDecreaseInAccruedLiabilities_i02_maNCPBUz112_zFl1WAD7dPBd" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Accrued expenses</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2023-01-01to2023-12-31" id="Fact000746" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">289,209</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2022-01-012022-12-31" id="Fact000747" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">165,069</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInOperatingLeaseLiability_i02_maNCPBUz112_z7CgJvMm8Zrl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Operating lease obligation</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2023-01-01to2023-12-31" id="Fact000749" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">232,007</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2022-01-012022-12-31" id="Fact000750" format="ixt:numdotdecimal" decimals="0" unitRef="USD">184,728</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i02_maNCPBUz112_zeFNK1KttxNl" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">&#160;&#160;&#160;Contract liabilities</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-01to2023-12-31" id="Fact000752" format="ixt:numdotdecimal" decimals="0" unitRef="USD">708,245</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2022-01-012022-12-31" id="Fact000753" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">871,314</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i02T_mtNCPBUz112_maCCERCzJja_zI8dYhaicf67" style="vertical-align: bottom; background-color: White">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-align: left">Net cash used in operating activities</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-01-01to2023-12-31" id="Fact000755" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">8,746,564</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-01-012022-12-31" id="Fact000756" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">7,873,307</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zLjtz3vuCKA7" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Cash flows from investing activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--PaymentsToAcquireIntangibleAssets_i01N_di_msNCPBUzq40_zyi0v3oNN1Wf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;&#160;&#160;&#160;Purchase of patents/trademarks</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="From2023-01-01to2023-12-31" id="Fact000761" format="ixt:numdotdecimal" decimals="0" unitRef="USD">69,327</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="From2022-01-012022-12-31" id="Fact000762" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,190</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--PaymentsToDevelopSoftware_i01N_di_msNCPBUzq40_zlmhdESG8ewe" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;&#160;Purchase of software development</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToDevelopSoftware" contextRef="From2023-01-01to2023-12-31" id="Fact000764" format="ixt:numdotdecimal" decimals="0" unitRef="USD">527,896</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToDevelopSoftware" contextRef="From2022-01-012022-12-31" id="Fact000765" format="ixt:numdotdecimal" decimals="0" unitRef="USD">281,783</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msNCPBUzq40_z9rW0sejS8B3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">&#160;&#160;&#160;&#160;Purchase of fixed assets</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-01to2023-12-31" id="Fact000767" format="ixt:numdotdecimal" decimals="0" unitRef="USD">496,686</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-012022-12-31" id="Fact000768" format="ixt:numdotdecimal" decimals="0" unitRef="USD">344,915</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_mtNCPBUzq40_maCCERCzJja_z2OHJQlapJx4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-align: left">Net cash used in investing activities</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-01-01to2023-12-31" id="Fact000770" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,093,909</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-01-012022-12-31" id="Fact000771" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">644,888</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_zyhtWEM273td" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Cash flows from financing activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_ecustom--RepaymentsOfInsuranceAndEquipmentFinancing_i01N_di_msNCPBUzBwV_zMXA0hZA1OA4" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Repayments of insurance and equipment financing</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="duot:RepaymentsOfInsuranceAndEquipmentFinancing" contextRef="From2023-01-01to2023-12-31" id="Fact000776" format="ixt:numdotdecimal" decimals="0" unitRef="USD">520,529</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="duot:RepaymentsOfInsuranceAndEquipmentFinancing" contextRef="From2022-01-012022-12-31" id="Fact000777" format="ixt:numdotdecimal" decimals="0" unitRef="USD">331,175</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_409_ecustom--RepaymentsOfLongTermCapitalLeaseObligation_i01N_di_msNCPBUzBwV_z1oKoi42KJZ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Repayment of finance lease</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="duot:RepaymentsOfLongTermCapitalLeaseObligation" contextRef="From2023-01-01to2023-12-31" id="Fact000779" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,851</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="duot:RepaymentsOfLongTermCapitalLeaseObligation" contextRef="From2022-01-012022-12-31" id="Fact000780" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80,335</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_40A_ecustom--ProceedsFromIssuanceOfCommonStocks_i01_maNCPBUzBwV_zQpo58lvPoTk" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Proceeds from common stock issued</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0782">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:ProceedsFromIssuanceOfCommonStocks" contextRef="From2022-01-012022-12-31" id="Fact000783" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,801,003</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--IssuanceCosts_i01N_di_msNCPBUzBwV_zQw9KwvxtHXh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Issuance cost</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="duot:IssuanceCosts" contextRef="From2023-01-01to2023-12-31" id="Fact000785" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,797</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="duot:IssuanceCosts" contextRef="From2022-01-012022-12-31" id="Fact000786" format="ixt:numdotdecimal" decimals="0" unitRef="USD">942,926</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans_i01_pp0p0_maNCPBUzBwV_zEMF2lMpG7Ci" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;&#160;&#160;Proceeds from shares issued under Employee Stock Purchase Plan</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" contextRef="From2023-01-01to2023-12-31" id="Fact000788" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">230,400</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0789">&#8212;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--ProceedsFromIssuanceOrSaleOfEquity_i01_maNCPBUzBwV_zDDqK5naktua" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">&#160;&#160;&#160;Proceeds from preferred stock issued</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOrSaleOfEquity" contextRef="From2023-01-01to2023-12-31" id="Fact000791" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,500,000</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOrSaleOfEquity" contextRef="From2022-01-012022-12-31" id="Fact000792" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,299,000</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_mtNCPBUzBwV_maCCERCzJja_zNTZOiuta0K9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-align: left">Net cash provided by financing activities</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-01-01to2023-12-31" id="Fact000794" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,161,223</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2022-01-012022-12-31" id="Fact000795" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,745,567</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_iT_mtCCERCzJja_ze4mItgL1oH7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-align: left">Net increase  in cash</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2023-01-01to2023-12-31" id="Fact000797" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,320,750</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2022-01-012022-12-31" id="Fact000798" format="ixt:numdotdecimal" decimals="0" unitRef="USD">227,372</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_iS_pp0p0" style="vertical-align: bottom; background-color: White">
    <td style="font: bold 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">Cash, beginning of year</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2022-12-31" id="Fact000800" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,121,092</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2021-12-31" id="Fact000801" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">893,720</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_iE_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">Cash, end of year</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-12-31" id="Fact000803" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,441,842</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2022-12-31" id="Fact000804" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,121,092</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--SupplementalCashFlowInformationAbstract_iB_z6W0fWaafOF2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-decoration: underline; text-align: left">Supplemental Disclosure of Cash Flow Information:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--InterestPaidNet_i01_z57AAGQI4m7j" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Interest paid</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2023-01-01to2023-12-31" id="Fact000809" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,159</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2022-01-012022-12-31" id="Fact000810" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,292</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncomeTaxesPaidNet_i01_znG5tksyr5rh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt">Taxes paid</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-01to2023-12-31" id="Fact000812" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,085</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2022-01-012022-12-31" id="Fact000813" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,264</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--NoncashInvestingAndFinancingItemsAbstract_iB_zs4jcGWBAkIl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-decoration: underline; text-align: left">Supplemental Non-Cash Investing and Financing Activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NotesIssued1_i01_zzMOq6Kp0lik" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt">Notes issued for financing of insurance premiums</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:NotesIssued1" contextRef="From2023-01-01to2023-12-31" id="Fact000818" format="ixt:numdotdecimal" decimals="0" unitRef="USD">487,929</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:NotesIssued1" contextRef="From2022-01-012022-12-31" id="Fact000819" format="ixt:numdotdecimal" decimals="0" unitRef="USD">353,244</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">See accompanying notes to the consolidated financial
statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;&#160;</b></p>


<!-- Field: Page; Sequence: 59 -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->


<p style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span id="a_055"></span>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000821" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock"><p id="xdx_800_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zAyIFeIS9r97" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 1 &#8211; <span id="xdx_82F_zGGlc4jnUlxj">NATURE OF OPERATIONS AND SUMMARY
OF SIGNIFICANT ACCOUNTING POLICIES</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000823" name="duot:NatureOfOperationsPolicyTextBlock"><p id="xdx_849_ecustom--NatureOfOperationsPolicyTextBlock_zXRXpZsRrDpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_864_zAt9lbVBSfg5">Nature of Operations</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Duos Technologies Group, Inc. (the &#8220;Company&#8221;),
through its operating subsidiaries, Duos Technologies, Inc. (&#8220;Duos&#8221;) and TrueVue360, Inc. (&#8220;TrueVue360&#8221;) (collectively
the &#8220;Company&#8221;), is a company that specializes in machine vision and artificial intelligence to analyze fast moving objects
such as trains, trucks, automobiles, and aircraft. This technology can help improve safety, maintenance, and operating metrics.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company is the inventor of the Railcar Inspection
Portal (RIP) and is currently the rail industry leader for machine vision/camera wayside detection systems that include the use of Artificial
Intelligence at speeds up to 125 mph. The RIP inspects a train at full speed from the top, sides, and bottom looking at FRA/AAR mandated
safety inspection points. The system also detects illegal riders that assists law enforcement agencies. Each rail car is scanned with
machine vision cameras and other sensors from the top, sides, and bottom and images are produced within seconds of passing that can be
used by the customer to help prevent derailments, improve maintenance operations, and assist with security. The Company self-performs
all aspects of hardware, software, IT, and Artificial Intelligence development and engineering and holds several patents and maintains
significant intellectual property. The Company also has a proprietary portfolio of over 48 Artificial Intelligence &#8220;Use Cases&#8221;
that automatically flag defects. The Company has deployed this system with several Class 1 and passenger customers and anticipates an
increased demand in the future from rail operators, car owners, shippers, and law enforcement agencies.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has also developed the Automated Logistics
Information System (ALIS) which automates gatehouse operations where trucks enter and exit large logistics and intermodal facilities.
This solution also incorporates sensors and data points as necessary for each operation and directly interconnects with backend logistics
databases and processes to streamline operations and significantly improve operations and security and, importantly, dramatically improves
throughput on each lane on which the technology is deployed. The Company expects to deploy an upgraded Truck Inspection Portal (TIP) which
uses the same technology and lessons learned from the ALIS and RIP systems.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s strategy is to expand our existing
customer base in the Class 1, short line, and passenger space in North America; expand our subscription offering to car owners and shippers;
and expand operations to meet the demand from international customers. The Company has prepared to respond and scale if necessary to react
to increased demand from potential regulations that may be imposed around wayside detection technology. In the future the Company may
put more emphasis on the trucking and intermodal sector with an updated Truck Inspection Portal solution. The Company continues to focus
on operational and technical excellence, customer satisfaction, and maintaining a highly skilled and performance-based work force.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<ix:exclude><!-- Field: Page; Sequence: 60; Options: NewSection -->
    <div id="xdx_23A_zX3erCRyKv67" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Value: 9; Name: PageNo -->9<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_236_zQZyAYc1y6Y6" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_23D_zuwyntQP0Jw5" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23A_zv27ZodDrQbe" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000827" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock"><p id="xdx_84B_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zUfUtWLWS0Zc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_868_zMtCYRXsyPH9">Principles of Consolidation</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The consolidated financial statements include the
accounts of the Company and its wholly owned subsidiaries, Duos Technologies, Inc. and TrueVue360, Inc. All inter-company transactions
and balances are eliminated in consolidation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000829" name="us-gaap:UseOfEstimates"><p id="xdx_84D_eus-gaap--UseOfEstimates_zjWxKP3Ab3zk" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86E_z4DtWb0Q80i3">Use of Estimates</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from these
estimates. The most significant estimates in the accompanying consolidated financial statements include the allowance on accounts receivable
and notes receivable, valuation of common stock warrants received in exchange for an asset sale, valuation of deferred tax assets, valuation
of intangible and other long-lived assets, estimates of net contract revenues and the total estimated costs to determine progress towards
contract completion, valuation of inventory, estimates of the valuation of right of use assets and corresponding lease liabilities, valuation
of warrants issued with debt and valuation of stock-based awards. We base our estimates on historical experience and on various other
assumptions that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the
carrying values of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000831" name="us-gaap:ConcentrationRiskCreditRisk"><p id="xdx_845_eus-gaap--ConcentrationRiskCreditRisk_zZc51sYaEjp8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_z08RsoUelm7b">Concentrations</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Cash Concentrations</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Cash is maintained at financial institutions and at
times, balances may exceed federally insured limits. We have not experienced any losses related to these balances. As of December 31,
2023, the Company had balances in a financial institution which combined exceeded federally insured limits by approximately $<span id="xdx_909_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20231231_zF3MQdap36a9" title="Federally insured limits"><ix:nonFraction name="us-gaap:CashUninsuredAmount" contextRef="AsOf2023-12-31" id="Fact000833" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,948,794</ix:nonFraction></span>.
Any loss incurred or a lack of access to such funds could have a significant adverse impact on the Company&#8217;s consolidated financial
condition, results of operation and cash flows.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>


<ix:exclude><p id="xdx_235_zegh3WAet42f" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 61 -->
    <div id="xdx_23D_zKpZRjGWPfP7" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23B_zRUMNa3Ky3Nh" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_23D_zM2ynW5Fe1Tc" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23A_zXkEffCbnnL9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

<ix:exclude><p id="xdx_238_z27Fi8c8VlXl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p></ix:exclude>

<ix:exclude><p id="xdx_230_zRzxZRWusGfb" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Significant Customers and Concentration of Credit
Risk</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company had certain customers
whose revenue individually represented 10% or more of the Company&#8217;s total revenue, or whose accounts receivable balances individually
represented 10% or more of the Company&#8217;s total accounts receivable, as follows:</p>

<p style="font: 8pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For the year ended December 31, 2023, three customers
accounted for <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zGHcHaR8IsZe" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000840" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">48</ix:nonFraction></span>%,
<span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z7xuwhpXOB42" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000842" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">30</ix:nonFraction></span>%,
and <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zEAx2hbkbKJ9" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000844" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">11</ix:nonFraction></span>%
of revenues. For the year ended December 31, 2022, four customers accounted for <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zovlM5YeRNDl" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000846" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">42</ix:nonFraction></span>%,
<span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zcVX9pOn7sdd" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000848" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">18</ix:nonFraction></span>%,
<span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zS2jjiU3CUJ7" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000850" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">14</ix:nonFraction></span>%
and <span id="xdx_908_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zRbVhThOIvWi" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_Customer4Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000852" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">14</ix:nonFraction></span>%
of revenues. In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a rail inspection
portal which, once accepted, must be paid in full, with <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zgLnTfA5JhR9"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000853" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">30</ix:nonFraction></span>%
or more being due and payable prior to delivery. The balances of the contracts are for service and maintenance which is paid annually
in advance with revenues recorded ratably over the contract period.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023, two customers accounted for
<span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zBfDb7yYA6tb" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000855" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">83</ix:nonFraction></span>%,
and <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zsXCWzCysqn1" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000857" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">11</ix:nonFraction></span>%,
of accounts receivable. At December 31, 2022, four customers accounted for <span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z5ccrrlmlLP1" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000859" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">34</ix:nonFraction></span>%,
<span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zTDB5At17REf" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000861" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">31</ix:nonFraction></span>%,
<span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWWUbQ7R73yd" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_Customer3Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000863" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">19</ix:nonFraction></span>%
and <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zPZrKe5gGQBk" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_Customer4Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember" id="Fact000865" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">10</ix:nonFraction></span>%
of accounts receivable. Much of the credit risk is mitigated since all of the customers listed here are Class 1 railroads with a history
of timely payments to us.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Geographic Concentration</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Approximately <span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zrDc6wIfUq1l" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US" id="Fact000867" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">44</ix:nonFraction></span>% and <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z869YDkK91J1" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US" id="Fact000869" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">41</ix:nonFraction></span>% of revenue in 2023 and 2022,
respectively, is generated from customers outside of the United States.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Significant Vendors and Concentration of
Credit Risk</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In some instances, the Company relies on a limited
pool of vendors for key components related to the manufacturing of its subsystems. These vendors are primarily focused on camera, server
and lighting technologies integral to the Company&#8217;s solution. Where possible, the Company seeks multiple vendors for key components
to mitigate vendor concentration risk.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<ix:exclude><p id="xdx_23B_zWJCvtbHIcTa" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_231_zTiMjLhPmizh" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 62 -->
    <div id="xdx_23F_zeHQZphjATzg" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23F_zQ8tihppaWE2" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_233_z6BSQkW8dwtl" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23D_zjf5j7S9j6de" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

<ix:exclude><p id="xdx_23C_zmCbk8EYYoL5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p></ix:exclude>

<ix:exclude><p id="xdx_23D_zMpBWzrG6FZk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000877" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock"><p id="xdx_847_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_z9lCOHVBVl21" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_zI7m7WXhXIkg">Fair Value of Financial Instruments and Fair
Value Measurements</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company follows Accounting Standards Codification
(&#8220;ASC&#8221;) 820, &#8220;Fair Value Measurements and Disclosures&#8221; (&#8220;ASC 820&#8221;), for assets and liabilities measured
at fair value on a recurring basis. ASC 820 establishes a common definition for fair value to be applied to existing generally accepted
accounting principles that requires the use of fair value measurements, establishes a framework for measuring fair value and expands disclosure
about such fair value measurements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">ASC&#160;820 defines fair value as the price that
would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement
date. Additionally, ASC&#160;820 requires the use of valuation techniques that maximize the use of observable inputs and minimize the
use of unobservable inputs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">These inputs are prioritized below:&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 10%; text-align: justify">Level 1:</td>
    <td style="width: 90%">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify">Observable inputs such as quoted market
    prices in active markets for identical assets or liabilities</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">Level 2:</td>
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify">Observable market-based inputs or unobservable
    inputs that are corroborated by market data</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify">&#160;</p></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">Level 3:</td>
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Unobservable inputs for which there is little
or no market data, which require the use of the reporting entity&#8217;s own assumptions that the market participants would use in the
valuation of the asset or liability based on the best available information.</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company analyzes all financial instruments with
features of both liabilities and equity under the Financial Accounting Standard Board&#8217;s (&#8220;FASB&#8221;) accounting standard
for such instruments. Under this standard, financial assets and liabilities are classified in their entirety based on the lowest level
of input that is significant to the fair value measurement.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The estimated fair value of certain financial instruments,
including accounts receivable, prepaid expenses, accounts payable, accrued expenses and notes payable are carried at historical cost basis,
which approximates their fair values because of the short-term nature of these instruments.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000879" name="us-gaap:TradeAndOtherAccountsReceivablePolicy"><p id="xdx_849_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zPQH94fN8cs1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zseM016u5fra">Accounts Receivable</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On January 1, 2023, the Company adopted ASC 326, "Financial
Instruments - Credit Losses". In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make required payments (current expected losses). The amount of the allowance is determined
principally on the basis of past collection experience and known financial factors regarding specific customers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accounts receivable are stated at estimated net realizable
value. Accounts receivable are comprised of balances due from customers net of estimated allowances for uncollectible accounts. In determining
the collections on the account, historical trends are evaluated, and specific customer issues are reviewed to arrive at appropriate allowances.
The Company reviews its accounts to estimate losses resulting from the inability of its customers to make required payments. Any required
allowance is based on specific analysis of past due accounts and also considers historical trends of write-offs. Past due status is based
on how recently payments have been received from customers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000881" name="us-gaap:InventoryPolicyTextBlock"><p id="xdx_844_eus-gaap--InventoryPolicyTextBlock_zrSvM8WGjsJ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zW8SQpCTxEAg">Inventory</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Inventory consists primarily of spare parts and consumables
and long-lead time components to be used in the production of our technology systems or in connection with maintenance agreements with
customers. Any inventory deemed to be obsolete is written off. Inventory is stated at the lower of cost or net realizable value. Inventory
cost is primarily determined using the weighted average cost method.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_238_zwRgycehMqRk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 63 -->
    <div id="xdx_232_z5G5BJ6YzkI4" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_230_zvsS6aW13fs1" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_237_z5GHNHOsFf5a" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23F_zwIdBwWCctm" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000886" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock"><p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zj0Nwe7QIUcl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_zlunIuRRXpni">Property and Equipment</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Property and equipment are stated at cost, less accumulated
depreciation. Depreciation is provided by the straight-line method over the estimated economic life of the property and equipment (three
<span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MinimumMember_zDD1NxkwAnKg" title="Estimated economic life of the property and equipment" style="display: none"><ix:nonNumeric contextRef="AsOf2023-12-31_srt_MinimumMember" format="ixt-sec:duryear" id="Fact000888" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">3</ix:nonNumeric></span> to five <span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MaximumMember_zaT3mbVqX9ed" title="Estimated economic life of the property and equipment" style="display: none"><ix:nonNumeric contextRef="AsOf2023-12-31_srt_MaximumMember" format="ixt-sec:duryear" id="Fact000890" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">5</ix:nonNumeric>
</span>years). When assets are sold or retired, their costs and accumulated depreciation are eliminated from the accounts and any gain
or loss resulting from their disposal is included in the statement of operations. Leasehold improvements are expensed over the shorter
of the term of our lease or their useful lives.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000892" name="us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock"><p id="xdx_843_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zIfAonS06TA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_z3wzTvenYp4f">Software Development Costs</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Software development costs incurred prior to
establishing technological feasibility are charged to operations and included in research and development costs. The technological feasibility
of a software product is established when the Company has completed all planning, designing, coding, and testing activities that are necessary
to establish that the product meets its design specifications, including functionality, features, and technical performance requirements.
Software development costs incurred after establishing technological&#160;feasibility for software sold as a perpetual license, as defined
within ASC 985-20 (Software &#8211; Costs of Software to be Sold, Leased, or Marketed) are capitalized and amortized on a product-by-product
basis when the product is available for general release to customers. Software development costs are evaluated for impairment annually by comparing the net realizable value to the unamortized
capitalization costs and writing these costs down to net realizable value.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000894" name="duot:PatentsAndTrademarksPolicyTextBlock"><p id="xdx_848_ecustom--PatentsAndTrademarksPolicyTextBlock_z0F57Zo0O0sk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_867_ztrU0S0u2Xtk">Patents and Trademarks</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Patents and trademarks which are stated at amortized
cost, relate to the development of video surveillance security system technology and are being amortized over <span id="xdx_902_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--IndefiniteLivedIntangibleAssetsByMajorClassAxis__custom--PatentsAndTrademarksMember_zMJChkBjc8hj" title="Estimated economic life of the property and equipment"><ix:nonNumeric contextRef="AsOf2023-12-31_custom_PatentsAndTrademarksMember" format="ixt-sec:duryear" id="Fact000896" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">17</ix:nonNumeric></span> years.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000898" name="duot:LonglivedAssetsTextBlock"><p id="xdx_84C_ecustom--LonglivedAssetsTextBlock_zqtK3pJaGOe2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86F_zvjjsMs4HA7c">Long-Lived Assets</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company evaluates the recoverability of its property,
equipment, and other long-lived assets in accordance with FASB ASC 360-10-35-15 &#8220;Impairment or Disposal of Long-Lived Assets&#8221;,
which requires recognition of impairment of long-lived assets in the event the net book values of such assets exceed the estimated future
undiscounted cash flows attributable to such assets or the business to which such intangible assets relate. This guidance requires that
long-lived assets and certain identifiable intangibles be reviewed for impairment whenever events or changes in circumstances indicate
that the carrying amount of an asset may not be recoverable. Recoverability of assets to be held and used is measured by a comparison
of the carrying amount of an asset to future undiscounted net cash flows expected to be generated by the asset. If such assets are considered
to be impaired, the impairment to be recognized is measured by the amount by which the carrying amount of the assets exceeds the fair
value of the assets. Assets to be disposed of are reported at the lower of the carrying amount or fair value less costs to sell.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000900" name="us-gaap:GuaranteesIndemnificationsAndWarrantiesPolicies"><p id="xdx_84F_eus-gaap--GuaranteesIndemnificationsAndWarrantiesPolicies_zfeofnSsdzS2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_z7W5NeSi5Uqa">Product Warranties</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has a <span id="xdx_907_ecustom--ProductWarrantyPeriod_dtD_c20230101__20231231_zUkE3EHSCq86" title="Product warranty Period"><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" format="ixt-sec:durday" id="Fact000902" name="duot:ProductWarrantyPeriod">90</ix:nonNumeric></span>-day warranty period for materials
and labor after final acceptance of a project. If any parts are defective they are replaced under our vendor warranty which is usually
<span id="xdx_90E_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zuENoH5e9ZM" title="Product warranty Period"><ix:nonNumeric contextRef="From2023-01-012023-12-31_srt_MinimumMember" format="ixt-sec:durmonth" id="Fact000904" name="duot:ProductWarrantyPeriod">12</ix:nonNumeric></span> to <span id="xdx_907_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zub7jm7QgrDl" title="Product warranty Period"><ix:nonNumeric contextRef="From2023-01-012023-12-31_srt_MaximumMember" format="ixt-sec:durmonth" id="Fact000906" name="duot:ProductWarrantyPeriod">36</ix:nonNumeric></span> months. Final acceptance terms vary by customer. Some customers have a cure period for any material deviation and if the Company
fails or is unable to correct any deviations, a full refund of all payments made by the customer will be arranged by the Company. As of
December 31, 2023 and 2022, the warranty costs have been de-minimis, therefore no accrual of warranty liability has been made.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000908" name="us-gaap:LoanCommitmentsPolicy"><p id="xdx_848_eus-gaap--LoanCommitmentsPolicy_zJdPJN2rFaTk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86C_zV5Osec0t4Ae">Loan Costs</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Loan costs paid to lenders, or third parties are recorded
as debt discounts to the related loans and amortized to interest expense over the loan term.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000910" name="duot:SalesReturnPolicyTextBlock"><p id="xdx_842_ecustom--SalesReturnPolicyTextBlock_zim7mza9X18j" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zp4sRIgABlwi">Sales Returns</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our systems are sold as integrated systems and there
are no sales returns allowed.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000912" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock"><p id="xdx_84D_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zPOCJzKA4q6k" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86E_zgCQFOQ7o79f">Revenue Recognition</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company follows Accounting Standards Codification
606, Revenue from Contracts with Customers (&#8220;ASC 606&#8221;), that affects the timing of when certain types of revenues will be
recognized. The basic principles in ASC 606 include the following: a contract with a customer creates distinct contract assets and performance
obligations, satisfaction of a performance obligation creates revenue, and a performance obligation is satisfied upon transfer of control
to a good or service to a customer.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_231_zHPoVwRX5Xy1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 64 -->
    <div id="xdx_23A_zYLqlBl2bjPk" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23D_znR16g1DDwCf" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_233_ztuVaxdOntq2" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_231_zNmguHAIkAb1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Revenue is recognized by evaluating our revenue contracts
with customers based on the five-step model under ASC 606:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">1.</td>
    <td style="text-align: justify">Identify the contract with the customer;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">2.</td>
    <td style="text-align: justify">Identify the performance obligations in the contract;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">3.</td>
    <td style="text-align: justify">Determine the transaction price;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">4.</td>
    <td style="text-align: justify">Allocate the transaction price to separate performance obligations; and</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">5.</td>
    <td style="text-align: justify">Recognize revenue when (or as) each performance obligation is satisfied.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company generates revenue from four sources: (1)
Technology Systems; (2) AI Technologies; (3) Technical Support and (4) Consulting services.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Technology Systems</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For revenues related to technology systems, the Company
recognizes revenue over time using a cost-based input methodology in which significant judgment is required to estimate costs to complete
projects. These estimated costs are then used to determine the progress towards contract completion and the corresponding amount of revenue
to recognize.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accordingly, the Company now bases its revenue recognition
on ASC 606-10-25-27, where control of a good or service transfers over time if the entity&#8217;s performance does not create an asset
with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date including a
profit margin or reasonable return on capital. Control is deemed to pass to the customer instantaneously as the goods are manufactured
and revenue is recognized accordingly.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In addition, the Company has adopted ASC 606-10-55-21
such that if the cost incurred is not proportionate to the progress in satisfying the performance obligation, we adjust the input method
to recognize revenue only to the extent of the cost incurred. Therefore, the Company will recognize revenue at an equal amount to the
cost of the goods to satisfy the performance obligation. To accurately reflect revenue recognition based on the input method, the Company
has adopted the implementation guidance as set out in ASC-606-10-55-187 through 192.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under this method, contract revenues are recognized
over the performance period of the contract in direct proportion to the costs incurred. Costs include direct material, direct labor, subcontract
labor and other allocable indirect costs. All un-allocable indirect costs and corporate general and administrative costs are also charged
to the periods as incurred. Any recognized revenues that have not been billed to a customer are recorded as an asset in &#8220;contract
assets&#8221;. Any billings of customers more than recognized revenues are recorded as a liability in &#8220;contract liabilities&#8221;.
However, in the event a loss on a contract is foreseen, the Company will recognize the loss when such loss is determined to be both probable and reasonably estimable.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>AI Technologies</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has revenue from applications that incorporate
artificial intelligence (AI) in the form of predetermined algorithms which provide important operating information to the users of our
systems. The revenue generated from these applications of AI consists of a fixed fee related to the design, development, testing and incorporation
of new algorithms into the system, which is recognized as revenue at a point in time upon acceptance, as well as an annual application
maintenance fee, which is recognized as revenue ratably over the contracted maintenance term.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Technical Support</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Technical support services are provided on both an
as-needed and extended-term basis and may include providing both parts and labor. Maintenance and technical support provided outside of
a maintenance contract are on an &#8220;as-requested&#8221; basis, and revenue is recognized over time as the services are provided. Revenue
for maintenance and technical support provided on an extended-term basis is recognized over time ratably over the term of the contract.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_23A_zEzLkhzLiAYd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 65 -->
    <div id="xdx_23E_zpyU9nEPvQY1" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_236_zS9EkOetYXLb" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_23B_zRQo2YABn3si" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23C_z4T37Csg7Vhd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Consulting Services</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s consulting services business generates
revenues under contracts with customers from four sources: (1) Professional Services (consulting and auditing); (2) Software licensing
with optional hardware sales; (3) Customer service training and (4) Maintenance support.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(1) Revenues for professional services,
which are of short-term duration, are recognized when services are completed;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(2) For all periods reflected in this report,
software license sales have been one-time sales of a perpetual license to use our software product and the customer also has the option
to purchase third-party manufactured handheld devices from us if they purchase our software license. Accordingly, the revenue is recognized
upon delivery of the software and delivery of the hardware, as applicable, to the customer;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(3) Training sales are one-time upfront
short-term training sessions and are recognized after the service has been performed; and</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(4) Maintenance/support is an optional product
sold to our software license customers under one-year contracts. Accordingly, maintenance payments received upfront are deferred and recognized
over the contract term.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000920" name="duot:MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock"><p id="xdx_847_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zZz5gFzVpcDk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span id="xdx_862_zVnP06OFRFW8">Multiple Performance Obligations and Allocation
of Transaction Price</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Arrangements with customers may involve multiple performance
obligations including project revenue and maintenance services in our Technology Systems business. Maintenance will occur after the project
is completed and may be provided on an extended-term basis or on an as-needed basis. In our consulting services business, multiple performance
obligations may include any of the above four sources. Training and maintenance on software products may occur after the software product
sale while other services may occur before or after the software product sale and may not relate to the software product. Revenue recognition
for a multiple performance obligations arrangement is as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Each performance obligation is accounted for separately
when each has value to the customer on a standalone basis and there is Company specific objective evidence of the selling price of each
deliverable. For revenue arrangements with multiple deliverables, the Company allocates the total customer arrangement to the separate
units of accounting based on their relative selling prices as determined by the price of the items when sold separately. Once the selling
price is allocated, the revenue for each performance obligation is recognized using the applicable criteria under GAAP as discussed above
for performance obligations sold in single performance obligation arrangements. A delivered item or items that do not qualify as a separate
unit of accounting within the arrangement are combined with the other applicable undelivered items within the arrangement. The allocation
of arrangement consideration and the recognition of revenue is then determined for those combined deliverables as a single unit of accounting.
The Company sells its various services and software and hardware products at established prices on a standalone basis which provides Company
specific objective evidence of selling price for purposes of performance obligations relative selling price allocation. The Company only
sells maintenance services or spare parts based on its established rates after it has completed a system integration project for a customer.
The customer is not required to purchase maintenance services. All elements in multiple performance obligations arrangements with Company
customers qualify as separate units of account for revenue recognition purposes.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000922" name="us-gaap:AdvertisingCostsPolicyTextBlock"><p id="xdx_84C_eus-gaap--AdvertisingCostsPolicyTextBlock_zoIXVg8nXDrb" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zRdxLxwmpvog">Advertising</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company expenses the cost of advertising.
During the years ended December 31, 2023 and 2022, there were <span id="xdx_903_eus-gaap--AdvertisingExpense_pp0p0_do_c20230101__20231231_zAS1TJJEfKg7" title="Advertising costs"><span id="xdx_904_eus-gaap--AdvertisingExpense_pp0p0_do_c20220101__20221231_zcyTeVx4V0T1" title="Advertising costs"><ix:nonFraction name="us-gaap:AdvertisingExpense" contextRef="From2023-01-01to2023-12-31" id="Fact000924" format="ixt-sec:numwordsen" decimals="0" scale="0" unitRef="USD"><ix:nonFraction name="us-gaap:AdvertisingExpense" contextRef="From2022-01-012022-12-31" id="Fact000926" format="ixt-sec:numwordsen" decimals="0" scale="0" unitRef="USD">no</ix:nonFraction></ix:nonFraction></span></span> advertising costs.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_239_zhBJhU39XCbg" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 66 -->
    <div id="xdx_231_zCdrXIE4Jnbh" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23D_z7N5pJCJgUWb" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_233_zv0pSZOKeffe" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_235_zMilICPmxzT" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000931" name="us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock"><p id="xdx_849_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_zUZ26uXEVFmg" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_86F_zZ2LrI0Vm7zj">Stock Based Compensation</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company accounts for employee and non-employee
stock-based compensation in accordance with ASC 718-10, &#8220;<i>Share-Based Payment</i>,&#8221; which requires the measurement and recognition
of compensation expense for all share-based payment awards made to employee and directors including stock options, restricted stock units,
and employee stock purchases based on estimated fair values. The stock-based compensation carries a graded vesting feature subject to the condition of time of employment service
with awarded stock-based compensation tranches vesting evenly upon the anniversary date of the award.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company estimates the fair value of stock options
granted using the Black-Scholes option-pricing formula. In accordance with ASC 718-10-35-8, the Company elected to recognize the fair
value of the stock award using the graded vesting method as time of employment service is the criteria for vesting.  The Company&#8217;s
determination of fair value using an option-pricing model is affected by the stock price as well as assumptions regarding a number of
highly subjective variables.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company estimates volatility based upon the
historical stock price of the Company and estimates the expected term for stock options using the simplified method for employees
and directors and the contractual term for non-employees. The risk-free rate is determined based upon the prevailing rate of United States
Treasury securities with similar maturities.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000933" name="us-gaap:IncomeTaxPolicyTextBlock"><p id="xdx_849_eus-gaap--IncomeTaxPolicyTextBlock_zKFT4vOmoK1j" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zGi6iWpQ5yx">Income Taxes</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company accounts for income taxes in accordance
with the Financial Accounting Standards Board FASB Accounting Standards Codification (&#8220;ASC&#8221;) 740, Income Taxes, which requires
the recognition of deferred income taxes for differences between the basis of assets and liabilities for financial statement and income
tax purposes. The deferred tax assets and liabilities represent the future tax return consequences of those differences, which will either
be taxable or deductible when the assets and liabilities are recovered or settled. Valuation allowances are established when necessary
to reduce deferred tax assets to the amount expected to be realized.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company evaluates all significant tax positions
as required by ASC 740. As of December 31, 2023, the Company does not believe that it has taken any positions that would require the recording
of any additional tax liability, nor does it believe that there are any unrealized tax benefits that would either increase or decrease
within the next year.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Any penalties and interest assessed by income
taxing authorities are included in operating expenses.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The federal and state income tax returns of the
Company are subject to examination by the IRS and state taxing authorities, generally for three years after they were filed. Tax years
2020, 2021 and 2022 remain open for potential audit.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000935" name="us-gaap:EarningsPerSharePolicyTextBlock"><p id="xdx_844_eus-gaap--EarningsPerSharePolicyTextBlock_zzof3cmLpjul" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zpIRIonjKT7">Earnings (Loss) Per Share</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Basic earnings per share (EPS) are computed by dividing
the net loss applicable to common stock by the weighted average number of common shares outstanding. Diluted net loss per common share
is computed by dividing the net loss applicable to common stock by the weighted average number of common shares outstanding for the period
and, if dilutive, potential common shares outstanding during the period. Potential common shares consist of the incremental common shares
issuable upon the exercise or conversion of stock options, stock warrants, convertible debt instruments, convertible preferred stock or
other common stock equivalents. Potentially dilutive securities are excluded from the computation if their effect is anti-dilutive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023, there were (i) an aggregate
of <span id="xdx_903_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zSTHbBwN048j" title="Outstanding warrants"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember5618031" id="Fact000937" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">44,644</ix:nonFraction></span> outstanding warrants to purchase shares of common stock, (ii) employee stock options to purchase an aggregate of <span id="xdx_90C_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpQY2Wv5km93" title="Number of incentive stock options"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact000939" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,387,775</ix:nonFraction></span> shares
of common stock, (iii) <span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zuFJuLf0um82" title="Common shares issuable conversion"><ix:nonFraction name="duot:ConversionOfStockSharesConverted" contextRef="From2023-01-012023-12-31_custom_SeriesDConvertiblePreferredStockMember" id="Fact000941" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">433,000</ix:nonFraction></span> common shares issuable upon conversion of Series D Convertible Preferred Stock, (iv) <span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zv9lRPYmCOMb" title="Common shares issuable conversion"><ix:nonFraction name="duot:ConversionOfStockSharesConverted" contextRef="From2023-01-012023-12-31_custom_SeriesEConvertiblePreferredStockMember" id="Fact000943" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,833,334</ix:nonFraction></span> common shares
issuable upon conversion of Series E Convertible Preferred Stock, and (v) <span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zi9kjnrsrFNf" title="Common shares issuable conversion"><ix:nonFraction name="duot:ConversionOfStockSharesConverted" contextRef="From2023-01-012023-12-31_custom_SeriesFConvertiblePreferredStockMember" id="Fact000945" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></span> common shares issuable upon conversion of Series F Convertible
Preferred Stock, all of which were excluded from the computation of diluted net earnings per share because their inclusion would have
been anti-dilutive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2022, there was an aggregate of <span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20221231_zpfA2R77oYId" title="Outstanding warrants"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2022-12-31" id="Fact000947" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">147,591</ix:nonFraction></span>
outstanding warrants to purchase shares of common stock aggregate of <span id="xdx_906_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zj75AjQJoNli" title="Number of incentive stock options"><ix:nonFraction name="duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact000949" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">926,266</ix:nonFraction></span>
employee stock options to purchase shares of common stock, and <span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20220101__20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zGAUfZXW0TBi" title="Common shares issuable conversion"><ix:nonFraction name="duot:ConversionOfStockSharesConverted" contextRef="From2022-01-012022-12-31_custom_SeriesDConvertiblePreferredStockMember" id="Fact000951" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">433,000</ix:nonFraction></span>
common shares were issuable upon conversion of Series D Convertible Preferred Stock, all of which were excluded from the computation
of diluted net  earnings per share because their inclusion would have been anti-dilutive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_233_zvCaMFjRL5y2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 67 -->
    <div id="xdx_23F_zknbOV01o1M7" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_232_zqfFMaYdh5hg" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_233_zU5033m4dOak" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_238_zGrMlnzf1vxf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000956" name="us-gaap:LesseeLeasesPolicyTextBlock"><p id="xdx_849_eus-gaap--LesseeLeasesPolicyTextBlock_zDdVkFIJg1g9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_868_zcAobCWG10M9">Leases</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company follows ASC 842 &#8220;Leases&#8221;.
This guidance requires lessees to recognize right-of-use (&#8220;ROU&#8221;) assets and lease liabilities for most operating leases. In
addition, this guidance requires that lessors separate lease and non-lease components in a contract in accordance with the revenue guidance
in ASC 606.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company made an accounting policy election
to not recognize short-term leases with terms of twelve months or less on the balance sheet and instead recognize the lease payments in
expense as incurred. The Company has also elected to account for real estate leases that contain both lease and non-lease components as
a single lease component.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At the inception of a contract the Company assesses
whether the contract is, or contains, a lease. The Company&#8217;s assessment is based on: (1) whether the contract involves the use of
a distinct identified asset, (2) whether we obtain the right to substantially all the economic benefit from the use of the asset throughout
the period, and (3) whether we have the right to direct the use of the asset.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Operating ROU assets represent the right to use
the leased asset for the lease term and operating lease liabilities are recognized based on the present value of minimum lease payments
over the lease term at commencement date. As most leases do not provide an implicit rate, the Company uses an incremental borrowing rate
based on the information available at the lease commencement date to determine the present value of future payments. The lease term includes
all periods covered by renewal and termination options where the Company is reasonably certain to exercise the renewal options or not
to exercise the termination options. Operating lease expense is recognized on a straight-line basis over the lease term and is included
in general and administration expenses in the consolidated statements of operations.&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000958" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zvJ2DrZ7RHa1" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zQEEbeDc8gPd">Recent Accounting Pronouncements</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">From time to time, the FASB or other standards setting
bodies will issue new accounting pronouncements. Updates to the FASB ASC are communicated through issuance of an Accounting Standards
Update (&#8220;ASU&#8221;).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In August 2020, the FASB issued an accounting pronouncement
(ASU 2020-06) related to the measurement and disclosure requirements for convertible instruments and contracts in an entity's own equity.
The pronouncement simplifies and adds disclosure requirements for the accounting and measurement of convertible instruments and the settlement
assessment for contracts in an entity's own equity. This pronouncement is effective for fiscal years, and for interim periods within those
fiscal years, beginning after December 15, 2023. The Company early adopted this pronouncement for our fiscal year beginning January 1,
2022, and it did not have a material effect on our audited consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In May 2021, the FASB issued an accounting pronouncement
(ASU 2021-04) related to modifications or exchanges of freestanding equity-classified written call options (such as warrants) that remain
equity classified after modification or exchange. The pronouncement states that an entity should treat the modification as an exchange
of the original instrument for a new instrument, and the effect of the modification should be calculated as the difference between the
fair value of the modified instrument and the fair value of that instrument immediately before modification. An entity should then recognize
the effect of the modification on the basis of the substance of the transaction, in the same manner as if cash had been paid as consideration.
This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2021.
The pronouncement is applied prospectively to all modifications that occur after the initial date of adoption. We adopted this pronouncement
for our fiscal year beginning January 1, 2022, and it did not have a material effect on our audited consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span>In March 2022,
the FASB issued ASU No. 2022-02,&#160;<i>Financial Instruments-Credit Losses (Topic 326): Troubled Debt Restructurings and Vintage Disclosures</i>.
The guidance was issued as improvements to ASU No. 2016-13. The vintage disclosure changes require an entity to disclose
current-period gross write-offs by year of origination for financing receivables. The guidance is effective for financial statements issued
for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years. The amendments should be applied prospectively.
Early adoption of the amendments is permitted, including adoption in an interim period. The amendments will impact our disclosures but
will not otherwise impact the consolidated financial statements. During 2023, the Company adopted a policy related to Topic 326 whereby
it periodically reviews the collectability and historical write-offs, if any, to evaluate the need for any credit losses or an allowance.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">In November 2023, the FASB issued ASU 2023-07
Segment Reporting (Topic 280): <i>Improvements to Reportable Segment Disclosures</i>. ASU 2023-07 requires companies to disclose significant
segment expenses that are regularly provided to the chief operating decision maker. ASU 2023-07 is effective for annual periods beginning
on January 1, 2024 and interim periods beginning on January 1, 2025. ASU 2023-07 must be applied retrospectively to all prior periods
presented in the financial statements. The Company is evaluating the disclosure impact of ASU 2023-07; however, the standard will not
have an impact on the Company&#8217;s consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">In December 2023, the FASB issued ASU
No. 2023-09 Income Taxes (Topic 740): <i>Improvements to Income Tax Disclosures</i>. ASU 2023-09 requires companies to disclose, on an
annual basis, specific categories in the effective tax rate reconciliation and provide additional information for reconciling items that
meet a quantitative threshold. Further, ASU 2023-09 requires companies to disclose additional information about income taxes paid. ASU
2023-09 is effective for annual periods beginning January 1, 2025 and will be applied on a prospective basis with the option to apply
the standard retrospectively. The Company is evaluating the disclosure impact of ASU 2023-09; however, the standard will not have an
impact on the Company&#8217;s consolidated financial statements.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0">Management does not believe that any other recently issued, but not
yet effective accounting pronouncements, if adopted, would have a material effect on the accompanying financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_232_z6ekTXdaWiH9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p></ix:exclude>

<ix:exclude><p id="xdx_230_zHkNKD1FqPk9" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 68 -->
    <div id="xdx_237_zS3pPzkkiwq2" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23D_zFtWP5f8nsa6" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_233_zn38rdwRSRqe" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_238_zhfZStju4h8g" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

</ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000964" name="us-gaap:SubstantialDoubtAboutGoingConcernTextBlock"><p id="xdx_80F_eus-gaap--SubstantialDoubtAboutGoingConcernTextBlock_z98iIFgH9H77" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 2 &#8211; <span id="xdx_829_zwxB5Zsx4Swi">LIQUIDITY</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under Accounting Codification ASC 205, Presentation
of Financial Statements&#8212;Going Concern (Subtopic 205-40) (&#8220;ASC 205-40&#8221;), the Company has the responsibility to evaluate
whether conditions and/or events raise substantial doubt about its ability to meet its future financial obligations as they become due
within one year after the date that the financial statements are issued. As required by ASC 205-40, this evaluation shall initially not
take into consideration the potential mitigating effects of plans that have not been fully implemented as of the date the financial statements
are issued. Management has assessed the Company&#8217;s ability to continue as a going concern in accordance with the requirement of ASC
205-40.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As reflected in the accompanying consolidated financial
statements, the Company had a net loss of $<span id="xdx_90F_eus-gaap--ProfitLoss_c20230101__20231231_zJPcc6Lgmq71" title="Net loss"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31" id="Fact000966" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,241,718</ix:nonFraction></span> for the year ended December 31, 2023. During the same period, cash used in operating
activities was $8,746,564. The working capital surplus and accumulated deficit as of December 31, 2023, were $<span id="xdx_901_ecustom--WorkingCapitalSurplus_iI_pp0p0_c20231231_zbZjLMTrg0vb" title="Working capital surplus"><ix:nonFraction name="duot:WorkingCapitalSurplus" contextRef="AsOf2023-12-31" id="Fact000968" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,009,842</ix:nonFraction></span> and $<span id="xdx_909_eus-gaap--RetainedEarningsAccumulatedDeficit_iNI_di_c20231231_zX0sVF9EvEK2" title="Accumulated deficit"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31" id="Fact000970" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">63,603,552</ix:nonFraction></span>,
respectively. In previous financial reports, the Company had raised substantial doubt about continuing as a going concern. This was principally
due to a lack of working capital prior to an underwritten offerings and a private placement which were completed during the first, third
and fourth quarters of 2022, the first, third and fourth quarters of 2023, as well as the first quarter of 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As previously noted, the Company was successful during
2023 in raising gross proceeds of over $11,500,000 from the sale of Series E and F Preferred Stock. Additionally, late in the first quarter
of 2024, the Company raised gross proceeds of $2,745,000 from the issuance of a combination of Series D and E Preferred Stock (See Note
17). As part of its strategy, the Company will endeavor to utilize the Preferred Series E and the remainder of the Series D as additional
funding mechanisms. Additionally, during the second quarter of 2024, the Company will again have access to its S-3 &#8220;shelf registration&#8221;
statement allowing the Company to sell additional common shares. At the time of this document, the Company estimates that it has available
capacity on its shelf registration which it can utilize to bolster working capital and growth of the business in the event it did not
have an uptake in the preferred classes of shares previously noted. Although additional investment is not assured, the Company is comfortable
that it would be able to raise sufficient capital to support expanded operations based on an anticipated increase in business activity.
In the long run, the continuation of the Company as a going concern is dependent upon the ability of the Company to continue executing
its business plan, generate enough revenue, and attain consistently profitable operations. Although the lingering effects of the global
pandemic related to the coronavirus (Covid-19) previously effected our operations, particularly in our supply chain, we now believe that
 the supply chain lags  have largely been abated. We have analyzed our cash flow under &#8220;stress test&#8221; conditions
and have determined that we have sufficient liquid assets on hand or available via the capital markets to maintain operations for at least
twelve months from the issuance date of this report.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In addition, management has taken and continues to
take actions including, but not limited to, elimination of certain costs that do not contribute to short term revenue, and re-aligning
both management and staffing with a focus on improving certain skill sets necessary to build growth and profitability and focusing product
strategy on opportunities that are likely to bear results in the relatively short term. The Company believes that, with the combination
of commercial sales success, Series E Preferred Stock offering coupled with an S-3 shelf registration availability starting in the second
quarter of 2024, it will have sufficient working capital to meet its obligations over the following twelve months. In the last twelve
months the Company has seen growth in its contracted backlog as well as significant, positive signs from new commercial projects that
indicate improvements in future revenues.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Management believes that, at this time, the conditions
in our market space with ongoing contract delays and the additional time needed to execute on new contracts previously reported have put
a strain on our cash reserves. However, recent private placements as well as the availability to raise capital via its shelf registration
indicate there is no substantial doubt for the Company to continue as a going concern for a period of twelve months. We continue executing
the plan to grow our business and achieve profitability. The Company may selectively look at opportunities for fund raising in the future.
Management has extensively evaluated our requirements for the next 12 months and has determined that the Company currently has sufficient
cash and access to capital to operate for at least that period.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">While no assurance can be provided, management believes
that these actions provide the opportunity for the Company to continue as a going concern and to grow its business and achieve profitability
with access to additional capital funding. Ultimately the continuation of the Company as a going concern is dependent upon the ability
of the Company to continue executing the plan described above which was put in place in late 2022 and will continue in 2024 and beyond.
As a result, we expect to generate sufficient revenue and to attain profitable operations with minimal cash use in the next 12-18 months.
These consolidated financial statements do not include any adjustments related to the recoverability and classification of recorded asset
amounts and classification of liabilities that might be necessary should the Company be unable to continue as a going concern.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_232_zIF0SlFiqBvb" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 69 -->
    <div id="xdx_237_zeMNeqgGwFdc" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_238_zeFvFycvQH93" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_239_zwqzl10dfQui" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23D_zI20snYNvTal" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000975" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"><p id="xdx_80D_eus-gaap--LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_zj4LXbzTMLx" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 3 &#8211; <span id="xdx_82F_z1iNrkwmQHN7">ACCOUNTS RECEIVABLE</span> </b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accounts receivable were as follows at December
31, 2023 and 2022:</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000977" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88E_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zdqyjlGCJyLh" summary="xdx: Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B6_ztNI79kOhA9d" style="display: none">Schedule of accounts receivable</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_492_20231231_zdic5sssGdH9" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_498_20221231_zsCfFJTWt6R3" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--AccountsReceivableGross_iI_pp0p0_maARNzo6Q_zobWWKnxuC68" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Accounts receivable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2023-12-31" id="Fact000979" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,462,463</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2022-12-31" id="Fact000980" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,418,263</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AllowanceForDoubtfulAccountsReceivable_iNI_pp0p0_msARNzo6Q_zFZuDqiFF5Ma" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Allowance for doubtful accounts</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0982">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0983">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AccountsReceivableNet_iTI_pp0p0_mtARNzo6Q_zDGRiafeo9p8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Accounts Receivable, Net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31" id="Fact000985" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,462,463</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2022-12-31" id="Fact000986" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,418,263</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There was no bad debt expense during the year ended
December 31, 2023 and 2022.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000988" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock"><p id="xdx_800_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zyfbYjo1kym9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 4 &#8211; <span id="xdx_822_zCcl3EVetx7e">PROPERTY AND EQUIPMENT</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The major classes of property and equipment are as
follows at December 31, 2023 and 2022:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact000990" name="us-gaap:PropertyPlantAndEquipmentTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_895_eus-gaap--PropertyPlantAndEquipmentTextBlock_zSroC8Pw23o4" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td id="xdx_8BE_zw7kD5yJAAi3" style="font-weight: bold; text-align: left"><b style="display: none">Schedule of property and equipment</b></td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_z3DJmEd3N4Ya" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_49C_20221231_zD6lYj3gdk9f" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Furniture &amp; Fixtures</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_z4ywLAYtTIVi" title="Property, Plant and Equipment, Gross" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_FurnitureAndFixturesMember" id="Fact000992" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">132,018</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_zZZMHpEJExLg" title="Property, Plant and Equipment, Gross" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_FurnitureAndFixturesMember" id="Fact000994" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,238</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Tools and Equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4akS7XLUDvc" title="Property, Plant and Equipment, Gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_EquipmentMember" id="Fact000996" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,291,673</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4oJQIifsfef" title="Property, Plant and Equipment, Gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_EquipmentMember" id="Fact000998" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,162,568</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Leasehold Improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zZwDqXFXjwM6" title="Property, Plant and Equipment, Gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact001000" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">298,004</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zivNWbK0FHh2" title="Property, Plant and Equipment, Gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact001002" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">228,404</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Internal Use Software</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zwew147WUeJd" title="Property, Plant and Equipment, Gross" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001004" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">381,441</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBj0MIOBu9ee" title="Property, Plant and Equipment, Gross" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001006" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">100,241</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_zzA8q4sHRage" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: rgb(204,238,255); font-weight: bold">Property, Plant and Equipment, Gross</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31" id="Fact001008" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,103,136</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31" id="Fact001009" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,606,451</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_zwF5bTlvIKm9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated Depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31" id="Fact001011" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,376,629</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31" id="Fact001012" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">976,961</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_zgmn9NhVZGoc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt">Property, Equipment and Software, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact001014" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">726,507</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31" id="Fact001015" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">629,490</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>Internal Use Software consisted of the following:</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center"/><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center"/><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%">Internal Use Software</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zJQO5zbMxIg2" title="Property, Plant and Equipment, Gross" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001017" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">381,441</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zHlPraGCr9k6" title="Property, Plant and Equipment, Gross" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001019" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">100,241</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zcMsWUUtSDR1" title="Accumulated Depreciation" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001021" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">133,149</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zk6RSz7KRO3k" title="Accumulated Depreciation" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001023" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">57,032</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Internal Use Software, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td id="xdx_98E_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zW2Kt6c44Qoj" title="Property, Equipment and Software, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001025" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">248,292</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBW4nQ9nrSad" title="Property, Equipment and Software, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001027" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">43,209</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="text-align: left; width: 1%">&#160;</td><td style="text-align: right; width: 14%">&#160;</td><td style="text-align: left; width: 1%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="text-align: left; width: 1%">&#160;</td><td style="text-align: right; width: 14%">&#160;</td><td style="text-align: left; width: 1%">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: left">Depreciation Expense:</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"/><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"/><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property and equipment, excluding internal use software</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98A_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zpm4CM9nJSj6" title="Depreciation Expense" style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2023-01-012023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember" id="Fact001029" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">315,686</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_987_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z0jR055Lv5G4" title="Depreciation Expense" style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2022-01-012022-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember" id="Fact001031" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">262,895</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Software amortization expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z8WBzqpgLCa7" title="Depreciation Expense" style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2023-01-012023-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001033" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">84,328</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z1fNkL9oFBz" title="Depreciation Expense" style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2022-01-012022-12-31_us-gaap_SoftwareDevelopmentMember" id="Fact001035" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">57,033</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8A1_zvC5ebZqEfYj" style="margin: 0">&#160;</p>

<p style="margin: 0">The following is a schedule of estimated future depreciation expense of software at December 31, 2023:</p>

<ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember" escape="true" id="Fact001037" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z2pV4Ah2fEp1" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_8B0_z40gVXtuwdx7" style="display: none; vertical-align: bottom; text-align: left">Schedule of estimated future depreciation expense of software</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 1%; text-align: left">&#160;</td><td style="vertical-align: bottom; width: 48%; text-align: left">2024</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zedjRnf0dtq6" title="2024" style="width: 47%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember" id="Fact001039" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,952</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td style="vertical-align: bottom; text-align: left">2025</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z16I3ZHIbOMa" title="2025" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember" id="Fact001041" format="ixt:numdotdecimal" decimals="0" unitRef="USD">103,716</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">2026</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zgKAqTaIRNcc" title="2026" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember" id="Fact001043" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,624</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td title="Finite lived intangible assets" id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zH4clpDAjkc4" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember" id="Fact001045" format="ixt:numdotdecimal" decimals="0" unitRef="USD">248,292</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"></p>


</ix:nonNumeric><p id="xdx_8A1_zDLDf6kwU4tc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Depreciation <span style="letter-spacing: -0.15pt">expense
</span>in 2023 and 2022 was $<span id="xdx_900_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231_z9G4OrPJU9wi" title="Depreciation expense"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2023-01-01to2023-12-31" id="Fact001047" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">315,686</ix:nonFraction></span> and $<span id="xdx_907_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231_zYdmoGKydlU7" title="Depreciation expense"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2022-01-012022-12-31" id="Fact001049" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">267,959</ix:nonFraction></span>, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001051" name="us-gaap:IntangibleAssetsDisclosureTextBlock"><p id="xdx_80F_eus-gaap--IntangibleAssetsDisclosureTextBlock_z4cGFeU3qnf7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 5 &#8211; <span id="xdx_82F_zbpA53lVUyFe">PATENTS AND TRADEMARKS</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001053" name="us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock_zn7ezxQUCCf5" summary="xdx: Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td id="xdx_8B3_z2gEk0MrYd8d" style="display: none">Schedule of patents and trademarks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49B_20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zmwCSmBzCn31" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_491_20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zMINAN9bOct1" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_maIANEGzIFT_zXINrs0VlYp5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%">Patents</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2023-12-31_us-gaap_PatentsMember" id="Fact001055" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">395,472</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2022-12-31_us-gaap_PatentsMember" id="Fact001056" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">326,145</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pp0p0_di_msIANEGzIFT_z4BaMquRan94" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated Amortization</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-12-31_us-gaap_PatentsMember" id="Fact001058" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">266,332</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2022-12-31_us-gaap_PatentsMember" id="Fact001059" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">256,412</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pp0p0_mtIANEGzIFT_zQ66DuvjA993" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt">Patent, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2023-12-31_us-gaap_PatentsMember" id="Fact001061" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">129,140</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2022-12-31_us-gaap_PatentsMember" id="Fact001062" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">69,733</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Amortization expense in 2023 and 2022 was $<span id="xdx_90F_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20230101__20231231_zlEI2uaiKPH2" title="Amortization expense"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-01to2023-12-31" id="Fact001064" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,920</ix:nonFraction></span> and
$<span id="xdx_90E_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231_zrz2560L9cP7" title="Amortization expense"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-01-012022-12-31" id="Fact001066" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,688</ix:nonFraction></span>, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<ix:exclude><p id="xdx_23D_z9H00atzSdk3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23D_zRT0o5HZ13c1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 70 -->
    <div id="xdx_23E_z62jMmOsuBk9" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_231_zSHymih5z49e" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_23B_zJGivC37GDDf" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_231_zxIv4dciF2Kh" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>


</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001072" name="us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock"><p id="xdx_808_eus-gaap--ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_z3zauYgRdpVg" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 6 &#8211; <span><span id="xdx_82D_zRWehbDWi8db">SOFTWARE
DEVELOPMENT COSTS</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001074" name="duot:ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock_ziuVO20nVdF7" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom; background-color: White">
    <td id="xdx_8BF_zZGRGI5djF2e" style="display: none">Schedule of software development costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_493_20231231_zrWelByldRL9" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20221231_zCkI2LTPpWE5" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_407_eus-gaap--CapitalizedComputerSoftwareGross_iI_pp0p0_zw0OuzHYmLf8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Software Development</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:CapitalizedComputerSoftwareGross" contextRef="AsOf2023-12-31" id="Fact001076" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">721,309</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:CapitalizedComputerSoftwareGross" contextRef="AsOf2022-12-31" id="Fact001077" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">341,784</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ConstructionInProgress_iI_pp0p0_zatTC9720yQ" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Construction in Progress</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="duot:ConstructionInProgress" contextRef="AsOf2023-12-31" id="Fact001079" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">148,371</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1080">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CapitalizedComputerSoftwareAccumulatedAmortization_iNI_di_zC1j9oH8QMkg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated amortization</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization" contextRef="AsOf2023-12-31" id="Fact001082" format="ixt:numdotdecimal" decimals="0" unitRef="USD">216,842</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization" contextRef="AsOf2022-12-31" id="Fact001083" format="ixt:numdotdecimal" decimals="0" unitRef="USD">76,576</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--SoftwareDevelopmentCostsNet_iI_pp0p0_zvVcvoDBXzwc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Software Development, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="duot:SoftwareDevelopmentCostsNet" contextRef="AsOf2023-12-31" id="Fact001085" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">652,838</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="duot:SoftwareDevelopmentCostsNet" contextRef="AsOf2022-12-31" id="Fact001086" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">265,208</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b>&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Amortization of software development costs in 2023
and 2022 was $<span id="xdx_903_ecustom--AmortizationOfIntangibleAssets1_pp0p0_c20230101__20231231_zHAmcRzdyE7e" title="Amortization of software development costs"><ix:nonFraction name="duot:AmortizationOfIntangibleAssets1" contextRef="From2023-01-01to2023-12-31" id="Fact001088" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">140,267</ix:nonFraction></span> and $<span id="xdx_90B_ecustom--AmortizationOfIntangibleAssets1_pp0p0_c20220101__20221231_zMeVcR24CrCj" title="Amortization of software development costs"><ix:nonFraction name="duot:AmortizationOfIntangibleAssets1" contextRef="From2022-01-012022-12-31" id="Fact001090" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,576</ix:nonFraction></span>, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following is a schedule of estimated future amortization expense of software at December 31, 2023:</p>

<ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" escape="true" id="Fact001092" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_89F_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z2qOiPb7xvaj" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_8BF_z49rJ9V6EP9c" style="display: none; vertical-align: bottom; text-align: left">Schedule of estimated future amortization expense of software</td><td style="vertical-align: bottom; text-align: left">&#160;</td><td style="text-align: left; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td style="vertical-align: bottom; text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 1%; text-align: left">&#160;</td><td style="vertical-align: bottom; width: 48%; text-align: left">2024</td><td style="vertical-align: bottom; width: 1%; text-align: left">&#160;</td><td style="text-align: left; width: 1%; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z4xyrxPoj3Ef" title="2024" style="vertical-align: bottom; width: 47%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" id="Fact001094" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">269,893</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td style="vertical-align: bottom; text-align: left">2025</td><td style="vertical-align: bottom; text-align: left">&#160;</td><td style="text-align: left; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zKI1UuruBxfe" title="2025" style="vertical-align: bottom; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" id="Fact001096" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">252,341</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">2026</td><td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: left; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zJokw9JyB1ai" title="2026" style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" id="Fact001098" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">130,604</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: left">$</td><td title="Finite lived intangible assets" id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zgBqB9USMiec" style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" id="Fact001100" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">652,838</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


</ix:nonNumeric><p id="xdx_8A8_zSfjv1qjr65d" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Depreciation of software cost in 2023 and 2022 was
$<span id="xdx_908_ecustom--DepreciationOfSoftwareCost_c20230101__20231231_zwTKk7HTM8md" title="Depreciation of software cost"><ix:nonFraction name="duot:DepreciationOfSoftwareCost" contextRef="From2023-01-01to2023-12-31" id="Fact001102" format="ixt:numdotdecimal" decimals="0" unitRef="USD">84,328</ix:nonFraction></span> and $<span id="xdx_904_ecustom--DepreciationOfSoftwareCost_c20220101__20221231_zmLRGatGaded" title="Depreciation of software cost"><ix:nonFraction name="duot:DepreciationOfSoftwareCost" contextRef="From2022-01-012022-12-31" id="Fact001104" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,033</ix:nonFraction></span>. respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001106" name="us-gaap:DebtDisclosureTextBlock"><p id="xdx_808_eus-gaap--DebtDisclosureTextBlock_zl2emwf6mkIl" style="font: 10pt Times New Roman, Times, Serif; margin: 0 5.75pt 0 0; text-align: justify"><b>NOTE 7 &#8211; <span id="xdx_821_zwRhvO2YiWWe">DEBT</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0 5.75pt 0 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Notes Payable &#8211; Insurance Premium
Financing Agreements</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s notes payable relating to
financing agreements classified as current liabilities consist of the following as of:</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001108" name="us-gaap:ScheduleOfDebtTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfDebtTableTextBlock_zK75x1pxQGld" summary="xdx: Disclosure - DEBT (Details - Notes payable - financing agreements)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B2_z2Cmk1QBcTj4" style="display: none">Schedule of notes payable</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: justify">Notes Payable</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Principal</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Principal</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Third Party - Insurance Note 1</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z2HQnybEi9i9" title="Notes payable, Principal" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1110">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zNffnZZEcDdl" title="Notes payable, Principal" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1112">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 48%; text-align: justify">Third Party - Insurance Note 2</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zd0M1vI97Tqe" title="Notes payable, Principal" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001114" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">39,968</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_90F_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zflu7comBI0f" title="Notes payable, Interest"><ix:nonFraction name="us-gaap:LongTermDebtPercentageBearingFixedInterestRate" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001116" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.00</ix:nonFraction></span></td><td style="width: 1%; text-align: left">%</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zsziLDy1zaTi" title="Notes payable, Principal" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001118" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">17,753</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_90B_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zT4AYWui57p9" title="Notes payable, Interest"><ix:nonFraction name="us-gaap:LongTermDebtPercentageBearingFixedInterestRate" contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001120" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">6.24</ix:nonFraction></span></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Third Party - Insurance Note 3</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zEDbXSwhk6e6" title="Notes payable, Principal" style="text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact001122" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,008</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zfaP1dJx2aG4" title="Notes payable, Principal" style="text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact001124" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,094</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Third Party - Insurance Note 4</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zlkXBNge3jr1" title="Notes payable, Principal" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1126">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pdp0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_z3KcW8Bag2R" title="Notes payable, Principal" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteFourMember" id="Fact001128" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,728</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zfrGcNlm9u81" title="Notes payable, Principal" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2023-12-31" id="Fact001130" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">41,976</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231_z8eZ9Nov4mp9" title="Notes payable, Principal" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:OtherNotesPayableCurrent" contextRef="AsOf2022-12-31" id="Fact001132" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">74,575</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on
December 23, 2022 with its insurance provider by issuing a $<span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20221223__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zSPmHBoHXGJi" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2022-12-23_custom_ThirdPartyInsuranceNoteOneMember" id="Fact001134" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">26,484</ix:nonFraction> </span>note
payable (Insurance Note 1) for the purchase of an insurance policy, secured by that policy with an annual interest rate of <span id="xdx_905_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20221223__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z4ekvw0yuFRc" title="Interest rate"><ix:nonFraction name="us-gaap:DerivativeFixedInterestRate" contextRef="AsOf2022-12-23_custom_ThirdPartyInsuranceNoteOneMember" id="Fact001136" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.73</ix:nonFraction></span>%
payable in 10 monthly installments of principal and interest totaling $<span id="xdx_90B_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20221222__20221223__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zNSCL3lJkq86" title="Monthly instalments of principal and interest"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2022-12-222022-12-23_custom_ThirdPartyInsuranceNoteOneMember" id="Fact001138" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,755</ix:nonFraction> </span>through
October 23, 2023. The balance of Insurance Note 1 as of December 31, 2023 and December 31, 2022 was zero <span id="xdx_908_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zmBXxHdkC8Rd" title="Notes payable outstanding balance"><b style="display: none"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember" id="Fact001140" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">0</ix:nonFraction> </b></span>and
zero <span id="xdx_900_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z8UbwBnW1qb9" title="Notes payable outstanding balance"><b style="display: none"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteOneMember" id="Fact001142" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">0</ix:nonFraction> </b></span>,
respectively.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on April 15,
2022 with its insurance provider by issuing a note payable (Insurance Note 2) for the purchase of an insurance policy in the amount of
$<span id="xdx_90F_eus-gaap--NotesPayable_iI_pp0p0_c20220415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zPQl3AKHs3C1" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2022-04-15_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001144" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">63,766</ix:nonFraction></span>, secured by that policy with an annual interest rate of <span id="xdx_908_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20220415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z9iFVuy9IgH1" title="Interest rate"><ix:nonFraction name="us-gaap:DerivativeFixedInterestRate" contextRef="AsOf2022-04-15_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001146" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">6.24</ix:nonFraction></span>% and payable in 11 monthly installments of principal and interest
totaling $<span id="xdx_906_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20220414__20220415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zKxlI7mJe1Ye" title="Monthly instalments of principal and interest"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2022-04-142022-04-15_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001148" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,979</ix:nonFraction></span>. The Company entered into an agreement on April 15, 2023 with its insurance provider by issuing a note payable (Insurance
Note 2) for the purchase of an insurance policy in the amount of $<span id="xdx_906_eus-gaap--NotesPayable_iI_pp0p0_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zqCEXvx9k5yi" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001150" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">142,734</ix:nonFraction></span>, secured by that policy with an annual interest rate of <span id="xdx_904_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zm4wCbgxc516" title="Interest rate"><ix:nonFraction name="us-gaap:DerivativeFixedInterestRate" contextRef="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001152" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.00</ix:nonFraction></span>%
and payable in 11 monthly installments of principal and interest totaling $<span id="xdx_90B_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20230414__20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zUBGwv1mAztf" title="Monthly instalments of principal and interest"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2023-04-142023-04-15_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001154" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,501</ix:nonFraction></span>. At December 31, 2023 and December 31, 2022, the balance
of Insurance Note 2 was $<span id="xdx_90D_eus-gaap--NotesPayable_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zincHPjwI02h" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001156" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">39,968</ix:nonFraction></span> and $<span id="xdx_905_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zH361U3NrJ0b" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteTwoMember" id="Fact001158" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">17,753</ix:nonFraction></span>, respectively.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on September
15, 2022 with its insurance provider by issuing a note payable (Insurance Note 3) for the purchase of an insurance policy in the amount
of $<span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20220915__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zWNk35m0z3X1"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2022-09-15_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact001159" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">24,140</ix:nonFraction></span>.
The policy was renewed on February 3, 2023 and is payable in 12 monthly installments of $<span id="xdx_903_eus-gaap--DebtInstrumentPeriodicPayment_c20230202__20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_z5MxipAvQ3Q8"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact001160" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,012</ix:nonFraction></span>.
At December 31, 2023 and December 31, 2022, the balance of Insurance Note 3 was $<span id="xdx_902_eus-gaap--NotesPayable_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_z6tWnCAAXVf2"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact001161" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,008</ix:nonFraction>
</span>and $<span id="xdx_901_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zZeYh38Mzb7d"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteThreeMember" id="Fact001162" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,094</ix:nonFraction></span>,
respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on February
3, 2022 with its insurance provider by issuing a note payable for the purchase of an insurance policy in the amount of $<span id="xdx_902_ecustom--PurchaseOfInsurancePolicy_c20220201__20220203_z5nWZQ3wpgq" title="Purchase of an insurance policy"><ix:nonFraction name="duot:PurchaseOfInsurancePolicy" contextRef="From2022-02-012022-02-03" id="Fact001164" format="ixt:numdotdecimal" decimals="0" unitRef="USD">242,591</ix:nonFraction>
</span>with a down payment paid in the amount of $<span id="xdx_90C_ecustom--DownPaymentPaid_c20220101__20220331_zVo47hZyOdUi" title="Down payment paid"><ix:nonFraction name="duot:DownPaymentPaid" contextRef="From2022-01-012022-03-31" id="Fact001166" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,854</ix:nonFraction>
</span>in the first quarter of 2022 and ten monthly installments of $<span id="xdx_90C_ecustom--InsuranceMonthlyInstallments_c20220101__20220331_zKCAJJb3rrll" title="Insurance monthly installments"><ix:nonFraction name="duot:InsuranceMonthlyInstallments" contextRef="From2022-01-012022-03-31" id="Fact001168" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,073</ix:nonFraction></span>.
The Company received a refund on September 30, 2022 as a result of the annual audit of the policy resulting in the refund being applied
to the outstanding amount of $<span id="xdx_90B_eus-gaap--ProceedsFromDepositsWithOtherInstitutions_c20220927__20220930_zbkvSURIqdG6" title="Received refund"><ix:nonFraction name="us-gaap:ProceedsFromDepositsWithOtherInstitutions" contextRef="From2022-09-272022-09-30" id="Fact001170" format="ixt:numdotdecimal" decimals="0" unitRef="USD">53,175</ix:nonFraction></span>.
The policy renewed on February 3, 2023 and, in connection therewith, the Company issued a new note payable (Insurance Note 4) to the
insurer in the amount of $<span id="xdx_900_eus-gaap--NotesPayable_iI_pp0p0_c20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zzK8zCG1YjMh" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-02-03_custom_ThirdPartyInsuranceNoteFourMember" id="Fact001172" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">293,520</ix:nonFraction></span>; with a down payment paid in the amount
of $<span id="xdx_905_ecustom--DownPaymentPaid_c20230202__20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zgNuf5S2JtMl" title="Down payment paid"><ix:nonFraction name="duot:DownPaymentPaid" contextRef="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteFourMember" id="Fact001174" format="ixt:numdotdecimal" decimals="0" unitRef="USD">125,690</ix:nonFraction>
</span>and payable in ten monthly installments of $<span id="xdx_906_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20230202__20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zBgSiJIQfoJ4" title="Monthly installments of principal and interest"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteFourMember" id="Fact001176" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">23,976</ix:nonFraction></span>.
At December 31, 2023 and December 31, 2022, the balance of Insurance Note 4 was zero <b style="display: none"><span id="xdx_90E_eus-gaap--NotesPayable_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zYIPIFOWBARi" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteFourMember" id="Fact001178" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">0</ix:nonFraction></span></b> and $<span id="xdx_907_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zkrZ11qEcng2" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteFourMember" id="Fact001180" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,728</ix:nonFraction></span>, respectively.<b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Equipment Financing</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on May 22,
2020 with an equipment financing company by issuing a $<span id="xdx_905_eus-gaap--NotesPayable_iI_c20200522__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zP4HEbiRiCHb" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2020-05-22_custom_EquipmentFinancingMember" id="Fact001182" format="ixt:numdotdecimal" decimals="0" unitRef="USD">121,637</ix:nonFraction></span>
secured note, with an annual interest rate of <span id="xdx_907_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20200522__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zL7SfLMym4Rg" title="Interest rate"><ix:nonFraction name="us-gaap:DerivativeFixedInterestRate" contextRef="AsOf2020-05-22_custom_EquipmentFinancingMember" id="Fact001184" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">9.90</ix:nonFraction></span>%
and payable in monthly installments of principal and interest totaling $<span id="xdx_906_eus-gaap--DebtInstrumentPeriodicPayment_c20200521__20230601__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zRQSWMcOxuNe" title="Monthly installments of principal and interest"><ix:nonFraction name="us-gaap:DebtInstrumentPeriodicPayment" contextRef="From2020-05-212023-06-01_custom_EquipmentFinancingMember" id="Fact001186" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,919</ix:nonFraction></span>
through June 1, 2023. At December 31, 2023 and December 31, 2022, the aggregate balance of these notes was zero <span id="xdx_904_eus-gaap--NotesPayable_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zCemnkCwhXQ2" title="Notes payable outstanding balance" style="display: none"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2023-12-31_custom_EquipmentFinancingMember" id="Fact001188" format="ixt:numdotdecimal" decimals="0" unitRef="USD">0</ix:nonFraction></span> and $<span id="xdx_900_eus-gaap--NotesPayable_iI_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zoctXj9eWFTb" title="Notes payable outstanding balance"><ix:nonFraction name="us-gaap:NotesPayable" contextRef="AsOf2022-12-31_custom_EquipmentFinancingMember" id="Fact001190" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,851</ix:nonFraction></span>
respectively.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<ix:exclude><p id="xdx_23E_zB38qQCjdkz5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23D_zmXP66SOdpIl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 71 -->
    <div id="xdx_235_zduLkuPNQxZf" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23D_z8tONRbqrf0i" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_234_zma5yyud8Qwl" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_231_ziaTBNZRjSm1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>



<ix:exclude><p id="xdx_237_zI9Sn8QVn4ch" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 5.75pt 0 0; text-align: justify"><b></b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001197" name="us-gaap:RevenueFromContractWithCustomerTextBlock"><p id="xdx_803_eus-gaap--RevenueFromContractWithCustomerTextBlock_zY4fGSuavpr9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 8 &#8211; <span id="xdx_823_z55FzistFZpd">REVENUES AND CONTRACT ACCOUNTING</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company generates revenue from four sources: (1)
Technology Systems; (2) AI Technology which is included in the consolidated statements of operations line-item Technology Systems; (3)
Technical Support; and (4) Consulting Services which is included in the consolidated statements of operations line-item Services and Consulting.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract assets and contract liabilities on uncompleted
contracts for revenues recognized over time are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Contract Assets</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract assets on uncompleted contracts represent
cumulative revenues recognized in excess of billings and/or cash received on uncompleted contracts accounted for under the cost-to-cost
input method which recognizes revenue based on the ratio of costs incurred to total estimated costs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023 and 2022, contract assets on
uncompleted contracts consisted of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001199" name="duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zCWVLmPjrHyf" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B9_zxA0iUEH8wyj" style="display: none">Schedule of contract assets on
uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49A_20231231_zFJoYhD2rJAi" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_497_20221231_zppB3Dy1UIbi" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_ecustom--CostsAndEstimatedEarningsRecognized_iI_pp0p0_maCWCANzFM7_zcO6mxsK0DDc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Cumulative revenues recognized</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="duot:CostsAndEstimatedEarningsRecognized" contextRef="AsOf2023-12-31" id="Fact001201" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,820,256</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="duot:CostsAndEstimatedEarningsRecognized" contextRef="AsOf2022-12-31" id="Fact001202" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,934,205</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zN7MhJYySqZj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: Billings or cash received</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="duot:BillingsOrCashReceived" contextRef="AsOf2023-12-31" id="Fact001204" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,178,309</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="duot:BillingsOrCashReceived" contextRef="AsOf2022-12-31" id="Fact001205" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,508,483</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zgWCRX6xK4jl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Contract Assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2023-12-31" id="Fact001207" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">641,947</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2022-12-31" id="Fact001208" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">425,722</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Contract Liabilities</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract liabilities on uncompleted contracts represent
billings and/or cash received that exceed cumulative revenues recognized on uncompleted contracts accounted for under the cost-to-cost
input method.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract liabilities on services and consulting revenues
represent billings and/or cash received in excess of revenue recognized on service agreements that are not accounted for under the cost-to-cost
input method.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company expects to recognize all contract liabilities within 12
months from the date of the consolidated balance sheet.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_236_z0hqcUwI6yKj" style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 72 -->
    <div id="xdx_23F_ziI1myRRZFYf" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23F_zRuzf4xToa9a" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_23D_zycbdN0JgiDa" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23B_zVkRSkCl0iEa" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023 and 2022, contract liabilities
on uncompleted contracts consisted of the following:</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001213" name="duot:ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_881_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zMZrx8BUjt7" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B0_zrDv0aiCAByi" style="display: none">Schedule of contract liabilities
on uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zOrdde0up58j" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_492_20221231_zUuQvqCBZlA9" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_pp0p0_maCLTSzBbu_zOzcMc8cWjIb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 66%; text-align: left">Billings and/or cash receipts on uncompleted contracts</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"><ix:nonFraction name="duot:BillingsAndorCashReceiptsOnUncompletedContracts" contextRef="AsOf2023-12-31" id="Fact001215" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,264,658</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"><ix:nonFraction name="duot:BillingsAndorCashReceiptsOnUncompletedContracts" contextRef="AsOf2022-12-31" id="Fact001216" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,355,470</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--CostAndEstimatedEarningsRecognized_iNI_pp0p0_di_msCLTSzBbu_zLR3bAINzcPi" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">Less: Cumulative revenues</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="duot:CostAndEstimatedEarningsRecognized" contextRef="AsOf2023-12-31" id="Fact001218" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">199,976</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="duot:CostAndEstimatedEarningsRecognized" contextRef="AsOf2022-12-31" id="Fact001219" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,144,018</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_407_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_pp0p0_mtCLTSzBbu_maCWCLzYC9_zN5NJd39qYKd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Contract liabilities, technology systems</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:ContractLiabilitiesTechnologiesSystems" contextRef="AsOf2023-12-31" id="Fact001221" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,064,682</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:ContractLiabilitiesTechnologiesSystems" contextRef="AsOf2022-12-31" id="Fact001222" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">211,452</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--ContractLiabilitiesServicesAndConsulting_iI_pp0p0_maCWCLzYC9_zlwyzuHnRoC9" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">Contract Liabilities, services and consulting</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:ContractLiabilitiesServicesAndConsulting" contextRef="AsOf2023-12-31" id="Fact001224" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">601,561</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:ContractLiabilitiesServicesAndConsulting" contextRef="AsOf2022-12-31" id="Fact001225" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">746,545</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iTI_pp0p0_mtCWCLzYC9_zBFzK79eYxpi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt"><span style="font-size: 10pt">Total
    Contract Liabilities</span></td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">$</span></td><td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right"><span style="font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2023-12-31" id="Fact001227" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,666,243</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2022-12-31" id="Fact001228" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">957,997</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-size: 10pt">&#160;</span></td></tr>
  </table></ix:nonNumeric>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract liabilities at December 31, 2022 were $<span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20221231_zGLIpcVH0v67" title="Contract liabilities"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2022-12-31" id="Fact001230" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">957,997</ix:nonFraction></span>;
of which $<span id="xdx_902_ecustom--ContractLiabilitiesTechnologiesSystems_iI_pp0p0_c20221231_zDeoClA20xQ1" title="Contract liabilities, technology systems"><ix:nonFraction name="duot:ContractLiabilitiesTechnologiesSystems" contextRef="AsOf2022-12-31" id="Fact001232" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">211,452</ix:nonFraction></span> for technology systems and $<span id="xdx_903_ecustom--ServicesAndConsultingRecognized_iI_pp0p0_c20221231_z6TPNQ7JkDLb" title="Services and consulting recognized"><ix:nonFraction name="duot:ServicesAndConsultingRecognized" contextRef="AsOf2022-12-31" id="Fact001234" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">721,810</ix:nonFraction></span> in services and consulting have been recognized as of December 31, 2023.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Disaggregation of Revenue</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company is following
the guidance of ASC 606-10-55-296 and 297 for disaggregation of revenue. Accordingly, revenue has been disaggregated according to the
nature, amount, timing and uncertainty of revenue and cash flows. We are providing qualitative and quantitative disclosures.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Qualitative:</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">1. We have four distinct revenue sources:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">a. Technology Systems (Turnkey, engineered projects);</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">b. AI Technology (Associated maintenance and support services);</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">c. Technical Support (Licensing and professional services related
to auditing of data center assets); and</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">d. Consulting Services (Predetermined algorithms to provide important
operating information to the users of our systems).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">2. We currently operate in North America including the USA, Mexico and
Canada.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">3. Our customers include rail transportation, commercial, government, banking
and IT suppliers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">4. Our technology systems and equipment projects fall into two types:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">a. Transfer of goods and services are over time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">b. Goods delivered at point in time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">5. Our services &amp; maintenance contracts are fixed price and fall into
two duration types:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">a. Turnkey engineered projects and professional service contracts
that are less than one year in duration and are typically one to two quarters in length; and</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">b. Maintenance and support contracts ranging from one to five
years in length.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Quantitative: </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">For the Year Ended December 31, 2023</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001236" name="us-gaap:DisaggregationOfRevenueTableTextBlock"><table cellpadding="0" cellspacing="0" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)" id="xdx_89A_eus-gaap--DisaggregationOfRevenueTableTextBlock_ziFFTofefqv7" style="font: 9pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font-size: 8pt; font-weight: bold"><span id="xdx_8BD_zI6RQhfhhBKh" style="display: none">Schedule of disaggregation of revenue</span></td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="3" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold">Segments</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Rail</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Commercial</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Government</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Artificial <br/> Intelligence</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">Primary Geographical Markets</td><td style="padding-bottom: 1pt; font-size: 10pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 28%; text-align: left; padding-bottom: 2.5pt">North America</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z8eGaxFxT7X2" title="Revenue" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_RailMember" id="Fact001238" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,261,748</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z91BwFgel23h" title="Revenue" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_CommercialMember" id="Fact001240" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">78,575</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zzUYC4RqLLY6" title="Revenue" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_GovernmentsMember" id="Fact001242" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z1H88gnO8qua" title="Revenue" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember" id="Fact001244" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,119,522</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlYzaT1cVKG7" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right; width: 12%">$<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember" id="Fact001246" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,471,198</ix:nonFraction></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">Major Goods and Service Lines</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Turnkey Projects</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zp6uTmgsN8E6" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_RailMember" id="Fact001248" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,616,334</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ2xI4G66YEl" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_CommercialMember" id="Fact001250" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,694</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zvdw35phcVD1" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1252">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zd1PRS1N0avh" title="Revenue" style="text-align: right">$<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_TurnkeyProjectsMember" id="Fact001254" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,618,028</ix:nonFraction></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Maintenance &amp; Support</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zRx9cWgpX3l9" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_RailMember" id="Fact001256" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,645,414</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjdhQrRi7mh6" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_CommercialMember" id="Fact001258" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">76,881</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zv4DTXUGxTGb" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember" id="Fact001260" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</ix:nonFraction></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuU50dX9mffk" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1262">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zKVaf5AtA0z9" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember" id="Fact001264" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,733,648</ix:nonFraction></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Data Center Auditing Services</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6FIsWC83GSk" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1266">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z06Rv7Cb0dU" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1268">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zavmG6DFeEq5" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1270">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z9wEDGYxpun2" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1272">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zPSgswb0V5Ah" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1274">&#8212;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Software License</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zFAoHSHmmfta" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1276">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwtSenQemXTc" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1278">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zb6JwTGkSIfi" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1280">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zb29oL5tghP1" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1282">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zllGOPUDsDGd" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1284">&#8212;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Algorithms</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zLvGB85ZDZt5" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1286">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zm6wtEWpyNg" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1288">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z72lj2ESADJc" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1290">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zxjLUKdBuai9" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember" id="Fact001292" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,119,522</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_z544OBmKZnA2" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember" id="Fact001294" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,119,522</ix:nonFraction></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zuzcy4hlYpqd" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_RailMember" id="Fact001296" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,261,748</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwK0YZ2dZmae" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_CommercialMember" id="Fact001298" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">78,575</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zgOQ0cigfMl7" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_GovernmentsMember" id="Fact001300" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCCQ5ARfaV89" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember" id="Fact001302" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,119,522</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zLESjJqPnxBk" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right">$<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-01to2023-12-31" id="Fact001304" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,471,198</ix:nonFraction></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">Timing of Revenue Recognition</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Goods transferred over time</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zDZQXlIAwUOa" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_RailMember_custom_GoodsTransferredOverTimeMember" id="Fact001306" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,616,334</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zq5rYNodKeTg" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember" id="Fact001308" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,694</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zrIWxpwwpeH9" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1310">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zZohML7rQRmb" title="Revenue" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1312">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zyJLH8Y4sKCe" title="Revenue" style="text-align: right">$<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_GoodsTransferredOverTimeMember" id="Fact001314" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,218,028</ix:nonFraction></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Services transferred over time</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zWoSClXHHuPa" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_RailMember_custom_ServicesTransferredOverTimeMember" id="Fact001316" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,645,414</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zLF3Xkq19Fbl" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember" id="Fact001318" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">76,881</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZeZwI5I8qsk" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember" id="Fact001320" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zars4ZS1uYfb" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember" id="Fact001322" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,119,522</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zFlO71fbQvxd" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ServicesTransferredOverTimeMember" id="Fact001324" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,853,170</ix:nonFraction></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zcaSCOydbRNh" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_RailMember" id="Fact001326" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,261,748</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zopd6C2SABo" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_CommercialMember" id="Fact001328" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">78,575</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zSVPjkb156be" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_GovernmentsMember" id="Fact001330" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,353</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zW2CHJpbCPec" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember" id="Fact001332" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,119,522</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zeAn8B8l4ZUi" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right">$<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-01to2023-12-31" id="Fact001334" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,471,198</ix:nonFraction></td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<ix:exclude><p id="xdx_23C_zNIi3fxhPdE9" style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 73 -->
    <div id="xdx_235_zkWB5KyzIDVh" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23D_zQ7nstpfvmb9" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_23B_zNAMhhoJxmNc" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_236_zDWMoF2o3PH2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Quantitative: </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">For the Year Ended December 31, 2022</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold">Segments</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Rail</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Commercial</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Government</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Artificial <br/> Intelligence</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold">Primary Geographical Markets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 45%; font-size: 9pt; text-align: left; padding-bottom: 2.5pt">North America</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" title="Revenue" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_RailMember" id="Fact001339" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,710,777</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" title="Revenue" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_CommercialMember" id="Fact001341" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,443</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" title="Revenue" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_GovernmentsMember" id="Fact001343" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">237,414</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_pp0p0" title="Revenue" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember" id="Fact001345" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">948,732</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_pp0p0" title="Revenue" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember" id="Fact001347" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,012,366</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left">Major Goods and Service Lines</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; text-align: left">Turnkey Projects</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_RailMember" id="Fact001349" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,789,693</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_CommercialMember" id="Fact001351" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,297</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember" id="Fact001353" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">156,530</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXfHXZuRr6og" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_ArtificialIntelligenceMember" id="Fact001355" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">234,772</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_pp0p0" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember" id="Fact001357" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,190,292</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 9pt; text-align: left">Maintenance &amp; Support</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zHKXeww9buMe" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_RailMember" id="Fact001359" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,921,084</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zIm1a8hF0Tqg" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_CommercialMember" id="Fact001361" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">106,146</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zTquzdRAFr5l" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember" id="Fact001363" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">80,884</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zRyweNrqam8i" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1365">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zObWuoB33Oqg" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember" id="Fact001367" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,108,114</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; text-align: left">Data Center Auditing Services</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhpEX70VNsV8" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1369">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zAVAwmkcGh85" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1371">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkCa1g4l8W28" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1373">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zNrTqg2A7x1a" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1375">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zYUcizWw8wRb" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1377">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 9pt; text-align: left">Software License</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zwqCPQtsunck" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1379">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_ztRr9nSBR4Y3" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1381">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zWkK23Hule7" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1383">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z0qZ039p7ALl" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1385">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zYJYPrPGBpOe" title="Revenue" style="font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1387">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; padding-bottom: 1pt">Algorithms</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zG4qv3li40I4" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1389">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zBnt73xaTj1f" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1391">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z8Be3e3MTW7c" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1393">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCQNC7ca4Cnl" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember" id="Fact001395" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">713,960</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zWfBsPPVb7g7" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember" id="Fact001397" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">713,960</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6jwa1L5JCPc" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_RailMember" id="Fact001399" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,710,777</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z7J57O39olgd" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_CommercialMember" id="Fact001401" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,443</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z7kFNLAmCDca" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_GovernmentsMember" id="Fact001403" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">237,414</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXGLp6GbLlcd" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember" id="Fact001405" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">948,732</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zxxB0Uh6dx9h" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31" id="Fact001407" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,012,366</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left">Timing of Revenue Recognition</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; text-align: left">Goods transferred over time</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zRNPxYCcG1p9" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_RailMember_custom_GoodsTransferredOverTimeMember" id="Fact001409" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,789,693</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zaXBzwca6J6d" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember" id="Fact001411" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,297</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zbKDsbkJRgc" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember" id="Fact001413" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">156,530</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zcaemS5Cl6C5" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember" id="Fact001415" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">234,772</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zEX2ebYw9KTd" title="Revenue" style="font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_GoodsTransferredOverTimeMember" id="Fact001417" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,190,292</ix:nonFraction></td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 9pt; text-align: left; padding-bottom: 1pt">Services transferred over time</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zYunqanIKlzf" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_RailMember_custom_ServicesTransferredOverTimeMember" id="Fact001419" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,921,084</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zkcQa4rAXg7d" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember" id="Fact001421" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">106,146</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zjgNftwoujja" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember" id="Fact001423" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">80,884</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z12sEJE9AhTl" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember" id="Fact001425" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">713,960</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z337k7WlFV33" title="Revenue" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_ServicesTransferredOverTimeMember" id="Fact001427" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,822,074</ix:nonFraction></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zX6GkVc485kk" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_RailMember" id="Fact001429" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,710,777</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zCmXvahtKXZ" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_CommercialMember" id="Fact001431" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,443</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zpjoP6RJUNV6" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_GovernmentsMember" id="Fact001433" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">237,414</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zAryIO8vAcF5" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember" id="Fact001435" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">948,732</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zus71Y4MNntl" title="Revenue" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-12-31" id="Fact001437" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,012,366</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A5_z4N3ehK84e6a" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Segment Information</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company operates in one reportable segment.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001439" name="us-gaap:CompensationRelatedCostsGeneralTextBlock"><p id="xdx_807_eus-gaap--CompensationRelatedCostsGeneralTextBlock_ziviFFFR4wu8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 9 &#8211; <span id="xdx_82E_zWXoUzTpDfOc">DEFERRED COMPENSATION</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023, and 2022, the Company has
accrued zero <b style="display: none"><span id="xdx_902_eus-gaap--DeferredCompensationLiabilityCurrent_pp0p0_c20231231_zlNi73ReO9Zc" title="Accrued deferred compensation"><ix:nonFraction name="us-gaap:DeferredCompensationLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact001441" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">0</ix:nonFraction></span></b> and $<span id="xdx_908_eus-gaap--DeferredCompensationLiabilityCurrent_pp0p0_c20221231_zzrZ7C7kLR9g" title="Accrued deferred compensation"><ix:nonFraction name="us-gaap:DeferredCompensationLiabilityCurrent" contextRef="AsOf2022-12-31" id="Fact001443" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">297,620</ix:nonFraction></span>, respectively, of deferred compensation relating to individual agreements with the former CEO and
sales staff, which are included in the accompanying consolidated balance sheet in accrued expenses. (See Note 10)</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001445" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock"><p id="xdx_805_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zwCak1eyphKg" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 10 &#8211; <span id="xdx_82C_zeBNy4JtEPJ1">COMMITMENTS AND CONTINGENCIES</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Operating Lease Obligations</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On July 26, 2021, the Company entered a new
operating lease agreement for office and warehouse combination space of <span id="xdx_907_ecustom--AreaOfLease_usqft_c20210725__20210726_zPObh03tD1ze" title="Area of lease"><ix:nonFraction name="duot:AreaOfLease" contextRef="From2021-07-252021-07-26" id="Fact001447" format="ixt:numdotdecimal" decimals="INF" unitRef="sqft">40,000</ix:nonFraction> </span>square
feet, with the lease commencing on November 1, 2021, and ending April 30, 2032. This new space combines the Company&#8217;s two
separate work locations into one facility, which allows for greater collaboration and also accommodates a larger anticipated
workforce and manufacturing facility. On November 24, 2021, the lease was amended to commence on December 1, 2021, and end on May
31, 2032. The Company recognized a ROU asset and operating lease liability in the amount of $<span id="xdx_908_eus-gaap--OperatingLeaseRightOfUseAsset_iI_pp0p0_c20210726_zOvZnb7fMSx1" title="Operating lease right of use asset"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2021-07-26" id="Fact001449" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,980,104</ix:nonFraction> </span>at
lease commencement. Rent for the first eleven months of the term was calculated based on <span id="xdx_90A_ecustom--RentableSpace_usqft_c20210725__20210726_zPTIvjImoVCa" title="Rentable space"><ix:nonFraction name="duot:RentableSpace" contextRef="From2021-07-252021-07-26" id="Fact001451" format="ixt:numdotdecimal" decimals="INF" unitRef="sqft">30,000</ix:nonFraction> </span>rentable
square feet. The rent is subject to an annual escalation of 2.5%, beginning November 1, 2023. The Company made a security deposit
payment in the amount of $<span id="xdx_90E_eus-gaap--SecurityDepositLiability_iI_pp0p0_c20210726_zGLDs7Sfg2hd" title="Security deposit payment"><ix:nonFraction name="us-gaap:SecurityDepositLiability" contextRef="AsOf2021-07-26" id="Fact001453" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">600,000</ix:nonFraction></span> on
July 26, 2021. Per the contract, in the 18<sup>th</sup> month the security deposit was reduced by $<span id="xdx_901_eus-gaap--SecurityDeposit_iI_c20210726_zoClDkeutFif" title="Security deposit value"><ix:nonFraction name="us-gaap:SecurityDeposit" contextRef="AsOf2021-07-26" id="Fact001455" format="ixt:numdotdecimal" decimals="0" unitRef="USD">50,000</ix:nonFraction></span>. The right of use asset
balance at December 31, 2023, net of accumulated amortization, was $<span id="xdx_901_eus-gaap--OperatingLeaseRightOfUseAsset_iI_pp0p0_c20231231_zs00by6n90Ae" title="Accumulated amortization"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact001457" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,373,155</ix:nonFraction></span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_239_ze2PPPv4rrCe" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 74 -->
    <div id="xdx_237_zjLAIsgxXRxe" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23D_zoj7D0h67TEf" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_230_z9hn0LZQEtdc" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_234_zkWYwV9k1Owd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023, the office and warehouse
lease is the Company&#8217;s only lease with a term greater than twelve months. The office and warehouse lease has a remaining term of
approximately 8.5 years and includes an option to extend for two renewal terms of five years each. The renewal options are not reasonably
certain to be exercised, and therefore, they are not included when determining the lease term used to establish the right-of use asset
and lease liability. The Company also has several short-term leases, primarily related to equipment. The Company made an accounting policy
election to not recognize short-term leases with terms of twelve months or less on the consolidated balance sheet and instead recognize
the lease payments in expense as incurred. The Company has also elected to account for real estate leases that contain both lease and
non-lease components (such as common area maintenance) as a single lease component.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table shows supplemental information
related to leases:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001462" name="duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_888_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zPTRuYVqbskf" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BF_zZM8IBzvMOXi" style="display: none">Schedule of supplemental information
related to leases</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Lease cost:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; text-align: left">Operating lease cost</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20231231_zttE5rElI3gj" title="Operating lease cost" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2023-01-01to2023-12-31" id="Fact001464" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">781,638</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--OperatingLeaseCost_pp0p0_c20220101__20221231_zYcMJF3F67ui" title="Operating lease cost" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2022-01-012022-12-31" id="Fact001466" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">782,591</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Short-term lease cost</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98B_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20231231_zIGK8NYbqlQ2" title="Short term lease Cost" style="text-align: right"><ix:nonFraction name="us-gaap:ShortTermLeaseCost" contextRef="From2023-01-01to2023-12-31" id="Fact001468" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">63,770</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98C_eus-gaap--ShortTermLeaseCost_pp0p0_c20220101__20221231_zdG5CM5dO6r9" title="Short term lease Cost" style="text-align: right"><ix:nonFraction name="us-gaap:ShortTermLeaseCost" contextRef="From2022-01-012022-12-31" id="Fact001470" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">33,751</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Other information:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating cash outflow used for operating leases</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98F_eus-gaap--PaymentsForRent_pp0p0_c20230101__20231231_z3e6q6ia2MKl" title="Operating cash outflow used for operating leases" style="text-align: right"><ix:nonFraction name="us-gaap:PaymentsForRent" contextRef="From2023-01-01to2023-12-31" id="Fact001472" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">696,869</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98C_eus-gaap--PaymentsForRent_pp0p0_c20220101__20221231_z6j84f2y89w8" title="Operating cash outflow used for operating leases" style="text-align: right"><ix:nonFraction name="us-gaap:PaymentsForRent" contextRef="From2022-01-012022-12-31" id="Fact001474" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">416,250</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average discount rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90E_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20231231_zjA2gpJoLtUc" title="Weighted average discount rate"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2023-12-31" id="Fact001476" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">9.0</ix:nonFraction></span></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90D_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20221231_zrrVE3JWf7a2" title="Weighted average discount rate"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2022-12-31" id="Fact001478" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">9.0</ix:nonFraction></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average remaining lease term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_900_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmiiPs8NjkPi" title="Weighted average remaining lease term"><ix:nonNumeric contextRef="AsOf2023-12-31" format="ixt-sec:duryear" id="Fact001480" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1">8.5</ix:nonNumeric></span> years</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20221231_zJXSvKVn5oNh" title="Weighted average remaining lease term"><ix:nonNumeric contextRef="AsOf2022-12-31" format="ixt-sec:duryear" id="Fact001482" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1">9.5</ix:nonNumeric></span> years</td><td style="text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023, future minimum lease payments
due under the operating lease are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001484" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z26yXkVAW5fe" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B4_zrrSb1KCUQ19" style="display: none">Schedule of future minimum lease payments
due under the operating lease</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49A_20231231_zx2tVVMOlc1d" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Amount</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><b>Calendar year:</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zMZ32FZKRPlk" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; width: 83%; text-align: justify">2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2023-12-31" id="Fact001486" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">779,087</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_z33tvQ0mDoCe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: justify">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="AsOf2023-12-31" id="Fact001488" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">798,556</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zynaiJekHxF8" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; text-align: justify">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" contextRef="AsOf2023-12-31" id="Fact001490" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">818,518</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_zFe7Ld6cMU78" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: justify">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" contextRef="AsOf2023-12-31" id="Fact001492" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">838,984</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFive_iI_pp0p0_maCz6be_zc4EcXY4mLB" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; text-align: justify">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" contextRef="AsOf2023-12-31" id="Fact001494" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">859,856</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_pp0p0_maCz6be_zp2e0xf102Wi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;&#160;&#160;Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" contextRef="AsOf2023-12-31" id="Fact001496" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,183,571</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zpQYnYD8AcOd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;&#160;&#160;&#160;&#160;&#160;Total undiscounted future minimum lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="AsOf2023-12-31" id="Fact001498" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,278,572</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyImIvrKEkV8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Less: Impact of discounting</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2023-12-31" id="Fact001500" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,270,767</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingLeaseLiability_iI_zRWrXiCH7ZQh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Total present value of operating lease obligation </td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31" id="Fact001502" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,007,805</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_zUJ59PyPwQge" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;&#160;&#160;&#160;&#160;&#160;Current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact001504" format="ixt:numdotdecimal" decimals="0" unitRef="USD">779,087</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_z2pGR4mT1wfd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt">Operating lease obligation, less current portion</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" id="Fact001506" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,228,718</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Executive Severance Agreement</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">Pursuant to a separation agreement with Gianni Arcaini, our
former Chief Executive Officer and Chairman of the Board (the &#8220;Separation Agreement&#8221;), Mr. Arcaini&#8217;s employment with
the Company ended on September 1, 2020 (&#8220;Separation Date&#8221;). The Separation Agreement provided that he would receive separation
payments over a 36- month period equal to his base salary plus $75,000 as well as certain limited health and life insurance benefits.
The Separation Agreement also contained confidentiality, non-disparagement and non-solicitation covenants and a release of claims by
Mr. Arcaini. In accordance with the Separation Agreement, the Company paid to Mr. Arcaini the total sum of $747,788. On March 1, 2021,
the Company paid to Mr. Arcaini a lump-sum amount equal to the first six months of payments, or $124,631, owed to Mr. Arcaini and the
Company continued to pay him in semi-monthly installments for 30 months thereafter, as contemplated in Mr. Arcaini&#8217;s Separation
Agreement. The remaining balance included in accrued expenses in the accompanying unaudited consolidated balance sheet is zero as of December
31, 2023.</p>

<ix:exclude><p id="xdx_237_zCdO8nyKDxb5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23B_zyxEIyJujmyl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 75 -->
    <div id="xdx_23B_z4dO47lXv2E5" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_235_zUf57GXZiED7" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_231_zT3ky6BDRU1l" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23F_z5cBwz24oQSf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<ix:exclude><p id="xdx_235_zUXXUhcELLV5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001513" name="us-gaap:IncomeTaxDisclosureTextBlock"><p id="xdx_80F_eus-gaap--IncomeTaxDisclosureTextBlock_zJSXyHpQIx68" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 11 &#8211; <span id="xdx_82B_zh7EQadD5JL9">INCOME TAXES</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company maintains deferred tax assets and liabilities
that reflect the net tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes and the amounts used for income tax purposes. The deferred tax assets (liabilities) at December 31, 2023 and 2022 consist of
net operating loss carryforwards and differences in the book basis and tax basis of intangible assets.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The items accounting for the difference between income
taxes at the effective statutory rate and the provision for income taxes for the years ended December 31, 2023 and 2022 were as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001515" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZwHnnqY4xU8" summary="xdx: Disclosure - INCOME TAXES (Details - Provision for income taxes)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B4_zFkXwdgPYCVc" style="display: none">Schedule of difference between income
taxes at  effective statutory rate and  provision for income taxes</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49C_20230101__20231231_zj1FkYCjXtrl" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_494_20220101__20221231_zM8DrZ6jdDih" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_maCzjeV_zJiD87SdCthk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: justify">Income tax benefit at U.S. statutory rate of 21%</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-12-31" id="Fact001517" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,360,761</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="From2022-01-012022-12-31" id="Fact001518" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,441,624</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_maCzjeV_z13PvtmEz2B3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">State income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="From2023-01-01to2023-12-31" id="Fact001520" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">404,702</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="From2022-01-012022-12-31" id="Fact001521" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">247,135</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_maCzjeV_z9guChhoHYej" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Non-deductible expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2023-01-01to2023-12-31" id="Fact001523" format="ixt:numdotdecimal" decimals="0" unitRef="USD">271,648</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2022-01-012022-12-31" id="Fact001524" format="ixt:numdotdecimal" decimals="0" unitRef="USD">201,521</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_maCzjeV_zz87sGiICK24" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Change in valuation allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2023-01-01to2023-12-31" id="Fact001526" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,493,815</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2022-01-012022-12-31" id="Fact001527" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,487,238</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iT_mtCzjeV_zNozKFlsQqLa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Total provision for income tax</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1529">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1530">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s approximate net deferred tax assets
as of December 31, 2023 and 2022 were as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001532" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zd6TonhaaVKb" summary="xdx: Disclosure - INCOME TAXES (Details - Deferred tax assets)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B6_zl7pA79Nm9mg" style="display: none">Schedule of net deferred tax assets</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; text-align: justify">Deferred Tax Asset (Liability):</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; text-align: justify">Net operating loss carryforward</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20231231_zERrVhggest4" title="Net operating loss carryforward" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2023-12-31" id="Fact001534" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,318,836</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20221231_zQMWA48Wdhk8" title="Net operating loss carryforward" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2022-12-31" id="Fact001536" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,772,854</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Intangible assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20231231_zvm9kSBVsZ28" title="Intangible assets" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets" contextRef="AsOf2023-12-31" id="Fact001538" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">84,823</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20221231_zxei88MrzmDa" title="Intangible assets" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets" contextRef="AsOf2022-12-31" id="Fact001540" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">32,656</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20231231_zSSrgnsW5p7d" title="Gross deferred tax assets" style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2023-12-31" id="Fact001542" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,234,013</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20221231_zFbl8eJh0Pcf" title="Gross deferred tax assets" style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2022-12-31" id="Fact001544" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,740,198</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Valuation allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231_zD7ZDMW251e" title="Valuation allowance" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2023-12-31" id="Fact001546" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,234,013</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231_z65yKg7UBjr6" title="Valuation allowance" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2022-12-31" id="Fact001548" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,740,198</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt">Net deferred tax assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_pdp0_c20231231_ztAYVSxaGSBg" title="Net deferred tax assets" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1550">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsNet_pdp0_c20221231_zzrXAbTzwIig" title="Net deferred tax assets" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1552">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The gross operating loss carryforward was approximately
$<span id="xdx_905_eus-gaap--OperatingLossCarryforwards_pp0p0_c20231231_zIEt1GVn1yoc" title="Gross operating loss carry forward"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2023-12-31" id="Fact001554" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">50,076,569</ix:nonFraction></span> and $<span id="xdx_90C_eus-gaap--OperatingLossCarryforwards_pp0p0_c20221231_zf79b8oROKi1" title="Gross operating loss carry forward"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2022-12-31" id="Fact001556" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">39,727,050</ix:nonFraction></span> at December 31, 2023 and 2022, respectively. The Company provided a valuation allowance equal to the net deferred
income tax assets for the years ended December 31, 2023, and 2022 because it was not known whether future taxable income will be sufficient
to utilize the loss carryforward and other deferred tax assets. The increase in the valuation allowance was $<span id="xdx_90C_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_pp0p0_c20230101__20231231_zdnAYk99a0Mi" title="Increase in valuation allowance"><ix:nonFraction name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" contextRef="From2023-01-01to2023-12-31" id="Fact001558" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,493,815</ix:nonFraction></span> in 2023.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The potential tax benefit arising from the net operating
loss carryforward of $<span id="xdx_90C_eus-gaap--TaxCreditCarryforwardAmount_pp0p0_c20231231_zV9V9xuTNsG9" title="Net operating loss carryforward"><ix:nonFraction name="us-gaap:TaxCreditCarryforwardAmount" contextRef="AsOf2023-12-31" id="Fact001560" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,357,876</ix:nonFraction></span> from the period prior to January 1, 2018, will expire in 2037. The potential tax benefit arising from
the net operating loss carryforward of $<span id="xdx_909_ecustom--PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations_pp0p0_c20231231_zrCGiqTTiJlb" title="Potential tax benefit arising from net operating loss carryforward"><ix:nonFraction name="duot:PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" contextRef="AsOf2023-12-31" id="Fact001562" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,876,137</ix:nonFraction></span> generated after January 1, 2018 can be carried forward indefinitely within the annual
usage limitations.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_23F_zPBK9IoTzzl9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.2in">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 76 -->
    <div id="xdx_23B_zUSGvUYh7ES9" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23E_zUXYHlk6JOga" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_23A_zCXwiMrqw1Bg" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_231_z95qG6jsP6df" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Additionally, the future utilization of the net operating
loss carryforward to offset future taxable income is subject to an annual limitation as a result of ownership or business changes that
may occur in the future. The Company has not conducted a study to determine the limitations on the utilization of these net operating
loss carryforwards. If necessary, the deferred tax assets will be reduced by any carryforward that may not be utilized or expires prior
to utilization as a result of such limitations, with a corresponding reduction of the valuation allowance.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.2in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company does not have any uncertain tax positions
or events leading to uncertainty in a tax position. The Company&#8217;s 2022, 2021 and 2020 Corporate Income Tax Returns are subject to
Internal Revenue Service examination.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001567" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock"><p id="xdx_80A_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zKSQIlE7Sitc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 12 &#8211; <span id="xdx_826_zfGWEsyARzg7">STOCKHOLDERS&#8217; EQUITY</span> </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b>2016 Equity Plan</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We maintained the 2016 Equity Incentive Plan (the
&#8220;2016 Plan&#8221;) for employees, officers, directors and other entities and individuals whose efforts contribute to our success.
The 2016 Plan terminated pursuant to its terms on December 31, 2020, although all outstanding awards on such date continue in full force
and effect.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2021 Equity Plan</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On May 12, 2021, the Board adopted, with shareholder
approval as of July 15, 2021, the 2021 Equity Incentive Plan (the &#8220;2021 Plan&#8221;) providing for the issuance of up to <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20210511__20210512__us-gaap--PlanNameAxis__custom--TwoThousandTwentyOneEquityIncentivePlanMember_zIgXWB2RLyj" title="Issuance of Common stock under Awards"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="From2021-05-112021-05-12_custom_TwoThousandTwentyOneEquityIncentivePlanMember" id="Fact001569" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,000,000</ix:nonFraction></span>
shares of our Common Stock. The purpose of the 2021 Plan is to assist the Company in attracting and retaining key employees, directors
and consultants and to provide incentives to such individuals to align their interests with those of our shareholders.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>General Description of the 2021 Plan</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following is a summary of the material provisions
of the 2021 Plan and is qualified in its entirety by reference to the complete text of the 2021 Plan, which you are encouraged to read
in full.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Administration</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The 2021 Plan is administered by the Compensation
Committee of the Board, which consists of three members of the Board, each of whom is a &#8220;non-employee director&#8221; within the
meaning of Rule 16b-3 promulgated under the Exchange Act and an &#8220;outside director&#8221; within the meaning of Code Section 162(m).
Among other things, the Compensation Committee has complete discretion, subject to the express limits of the 2021 Plan, to determine the
directors, employees and nonemployee consultants to be granted an award, the type of award to be granted, the terms and conditions of
the award, the form of payment to be made and/or the number of shares of Common Stock subject to each award, the exercise price of each
option and base price of each stock appreciation right (&#8220;SAR&#8221;), the term of each award, the vesting schedule for an award,
whether to accelerate vesting, the value of the Common Stock underlying the award, and the required withholding, if any. The Compensation
Committee may amend, modify or terminate any outstanding award, provided that the participant&#8217;s consent to such action is required
if the action would impair the participant&#8217;s rights or entitlements with respect to that award. The Compensation Committee is also
authorized to construe the award agreements and may prescribe rules relating to the 2021 Plan. Notwithstanding the foregoing, the Compensation
Committee does not have any authority to grant or modify an award under the 2021 Plan with terms or conditions that would cause the grant,
vesting or exercise thereof to be considered nonqualified &#8220;deferred compensation&#8221; subject to Code Section 409A.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Grant of Awards; Shares Available for Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The 2021 Plan provides for the grant of stock options,
SARs, performance share awards, performance unit awards, distribution equivalent right awards, restricted stock awards, restricted stock
unit awards and unrestricted stock awards to non-employee directors, officers, employees and nonemployee consultants of the Company or
its affiliates. We have reserved a total of <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20231231_zicLp5QV7Mr2" title="Shares available for grant"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2023-12-31" id="Fact001571" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,000,000</ix:nonFraction></span> shares of Common Stock for issuance as or under awards to be made under the 2021
Plan. If any award expires, is cancelled, or terminates unexercised or is forfeited, the number of shares subject thereto is again available
for grant under the 2021 Plan.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt">&#160;</p>

<ix:exclude><p id="xdx_23F_z69Oq61ms4F1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 77 -->
    <div id="xdx_23D_zzzr12Pj3lt4" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_236_zhniXzkbykB8" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_237_zlQ90z7z3bh2" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_237_zxV7SxUPObWi" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Stock Options</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The 2021 Plan provides for either
&#8220;incentive stock options&#8221; (&#8220;ISOs&#8221;), which are intended to meet the requirements for special federal income
tax treatment under the Code, or &#8220;nonqualified stock options&#8221; (&#8220;NQSOs&#8221;). On May 12, 2021, the 2021 Plan was
approved by the board of directors and by the shareholders on July 15, 2021. Stock options may be granted on such terms and
conditions as the Compensation Committee may determine; provided, however, that the per share exercise price under a stock option
may not be less than the fair market value of a share of the Company&#8217;s Common Stock on the date of grant and the term of the
stock option may <span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward_c20230101__20231231__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--EmployeeStockOptionMember_zlOyYhXJ5qIk" title="Common stock on the date of grant, term of the stock option"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001576" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward">not
exceed 10 years</ix:nonNumeric></span> (110% of such value and five years in the case of an ISO granted to an employee who owns (or is deemed to
own) <span id="xdx_909_eus-gaap--CommonStockVotingRights_c20230101__20231231__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--EmployeeStockOptionMember_zHS3gO4XtLqa" title="Voting rights"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001578" name="us-gaap:CommonStockVotingRights">more
than 10% of the total combined voting power of all classes of capital stock</ix:nonNumeric></span> of the Company or a parent or subsidiary of the
Company). ISOs may only be granted to employees. In addition, the aggregate fair market value of our Common Stock covered by one or
more ISOs (determined at the time of grant) which are exercisable for the first time by an employee during any calendar year may not
exceed $<span id="xdx_901_ecustom--AggregateFairMarketValueOfOurCommonStockNotExceed_pp0p0_c20230101__20231231__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--EmployeeStockOptionMember_zVvTiCrACz58" title="Aggregate fair market value of common stock"><ix:nonFraction name="duot:AggregateFairMarketValueOfOurCommonStockNotExceed" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001580" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">100,000</ix:nonFraction></span>.
Any excess is treated as a NQSO.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Stock Appreciation Rights</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">An SAR entitles the participant, upon exercise, to
receive an amount, in cash or stock or a combination thereof, equal to the increase in the fair market value of the underlying Common
Stock between the date of grant and the date of exercise. SARs may be granted in tandem with, or independently of, stock options granted
under the 2021 Plan. An SAR granted in tandem with a stock option (i) is exercisable only at such times, and to the extent, that the related
stock option is exercisable in accordance with the procedure for exercise of the related stock option; (ii) terminates upon termination
or exercise of the related stock option (likewise, the Common Stock option granted in tandem with a SAR terminates upon exercise of the
SAR); (iii) is transferable only with the related stock option; and (iv) if the related stock option is an ISO, may be exercised only
when the value of the stock subject to the stock option exceeds the exercise price of the stock option. An SAR that is not granted in
tandem with a stock option is exercisable at such times as the Compensation Committee may specify.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Performance Share and Performance Unit Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Performance share and performance unit awards entitle
the participant to receive cash or shares of our Common Stock upon the attainment of specified performance goals. In the case of performance
units, the right to acquire the units is denominated in cash values.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Restricted Stock Awards and Restricted Stock
Unit Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">A restricted stock award is a grant or sale of Common
Stock to the participant, subject to our right to repurchase all or part of the shares at their purchase price (or to require forfeiture
of such shares if issued to the participant at no cost) in the event that conditions specified by the Compensation Committee in the award
are not satisfied prior to the end of the time period during which the shares subject to the award may be repurchased by or forfeited
to us. Our restricted stock unit entitles the participant to receive a cash payment equal to the fair market value of a share of Common
Stock for each restricted stock unit subject to such restricted stock unit award, if the participant satisfies the applicable vesting
requirement.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Unrestricted Stock Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">An unrestricted stock award is a grant or sale of
shares of our Common Stock to the participant that is not subject to transfer, forfeiture or other restrictions, in consideration for
past services rendered to the Company or an affiliate or for other valid consideration.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Amendment and Termination</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Compensation Committee may adopt, amend and rescind
rules relating to the administration of the 2021 Plan, and amend, suspend or terminate the 2021 Plan, but no such amendment, rescission,
suspension or termination will be made that materially and adversely impairs the rights of any participant with respect to any award received
thereby under the 2021 Plan without the participant&#8217;s consent, other than amendments that are necessary to permit the granting of
awards in compliance with applicable laws.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<ix:exclude><p id="xdx_230_zlH6btg0Lzmh" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 78 -->
    <div id="xdx_235_zmf60wCy75Kj" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_236_zh890va10iK5" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_233_zeeVGHRcVHV3" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_233_zG8MbfFVt2jf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Series B Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following summary of certain terms and provisions
of our Series B Convertible Preferred Stock (the &#8220;Series B Convertible Preferred Stock&#8221;) is subject to, and qualified in its
entirety by reference to, the terms and provisions set forth in our certificate of designation of preferences, rights and limitations
of Series B Convertible Preferred Stock (the &#8220;Series B Convertible Preferred Certificate of Designation&#8221;) as previously filed.
Subject to the limitations prescribed by our articles of incorporation, our board of directors is authorized to establish the number of
shares constituting each series of preferred stock and to fix the designations, powers, preferences, and rights of the shares of each
of those series and the qualifications, limitations and restrictions of each of those series, all without any further vote or action by
our stockholders. Our board of directors designated <span id="xdx_906_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zG6SHhhURxEc" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact001585" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,000</ix:nonFraction></span> of the <span id="xdx_904_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231_zC2DpseXadn6" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact001587" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,000,000</ix:nonFraction></span> authorized shares of preferred stock as Series B Convertible
Preferred Stock with a stated value of $<span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zhN0MW7RxQzi" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact001589" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span> per share. The shares of Series B Convertible Preferred Stock were validly issued, fully
paid and non-assessable.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Each share of Series B Convertible Preferred
Stock was convertible at any time at the holder&#8217;s option into a number of shares of common stock equal to $<span id="xdx_904_eus-gaap--ConversionOfStockAmountConverted1_pp0p0_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesBConvertiblePreferredStockMember_zvD66E4ZdcLc" title="Conversion of stock, value"><ix:nonFraction name="us-gaap:ConversionOfStockAmountConverted1" contextRef="From2023-01-012023-12-31_custom_SeriesBConvertiblePreferredStockMember" id="Fact001591" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,000</ix:nonFraction>
</span>divided by the conversion price of $<span id="xdx_90C_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesBConvertiblePreferredStockMember_z2lqbAovtdb4" title="Conversion price"><ix:nonFraction name="us-gaap:DebtInstrumentConvertibleConversionPrice1" contextRef="AsOf2023-12-31_custom_SeriesBConvertiblePreferredStockMember" id="Fact001593" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.00</ix:nonFraction>
</span>per share. Notwithstanding the foregoing, we could not effect any conversion of Series B Convertible Preferred Stock, with certain
exceptions, to the extent that, after giving effect to an attempted conversion, the holder of shares of Series B Convertible Preferred
Stock (together with such holder&#8217;s affiliates, and any persons acting as a group together with such holder or any of such holder&#8217;s
affiliates) would beneficially own a number of shares of our common stock in excess of 4.99% (or, at the election of the purchaser, 9.99%)
of the shares of our common stock then outstanding after giving effect to such conversion. The Series B Convertible Preferred Certificate
of Designation does not prohibit the Company from waiving this limitation. Upon any liquidation, dissolution or winding-up of Company,
whether voluntary or involuntary (a &#8220;Liquidation&#8221;), the holders shall be entitled to participate on an as-converted-to-common
stock basis (without giving effect to the Beneficial Ownership Limitation) with holders of the common stock in any distribution of assets
of the Company to the holders of the common stock. As of December 31, 2023 and December 31, 2022, respectively, there are zero <b style="display: none"><span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z9BCa8J7DBi7" title="Preferred stock, shares issued"><span id="xdx_909_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zHicwgjgwG3c" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact001595" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact001597" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span></b>
and zero <b style="display: none"><span id="xdx_904_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zT6axTu5KOYh" title="Preferred stock, shares issued"><span id="xdx_90A_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zwf1MVZFE0X" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact001599" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember" id="Fact001601" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span></b> shares of Series B Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline">Series C Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s Board of Directors designated
<span id="xdx_900_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zMmKaOF2aek6"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact001602" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction>
</span>shares as the Series C Convertible Preferred Stock (the &#8220;Series C Convertible Preferred Stock&#8221;). Each share of the
Series C Convertible Preferred Stock has a stated value of $<span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zDkM3cLnoFIh"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact001603" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span>.
The holders of the Series C Convertible Preferred Stock, the holders of the common stock and the holders of any other class or series
of shares entitled to vote with the common stock shall vote together as one class on all matters submitted to a vote of shareholders
of the Company. <span id="xdx_90F_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zMDuKG7LVKTk"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact001604" name="us-gaap:PreferredStockVotingRights">Each
share of Series C Convertible Preferred Stock had 172 votes (subject to adjustment); provided that in no event may a holder of Series
C Convertible Preferred Stock be entitled to vote a number of shares in excess of such holder&#8217;s Beneficial Ownership Limitation
(as defined in the Certificate of Designation and as described below). Each share of Series C Convertible Preferred Stock was convertible,
at any time and from time to time, at the option of the holder, into that number of shares of common stock (subject to the Beneficial
Ownership Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price, which is $5.50 (subject
to adjustment). The Company shall not effect any conversion of the Series C Convertible Preferred Stock, and a holder shall not have
the right to convert any portion of the Series C Convertible Preferred Stock, to the extent that after giving effect to the conversion
sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate of Designation))
would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock outstanding immediately
after giving effect to the issuance of shares of common stock issuable upon such conversion (the &#8220;Beneficial Ownership Limitation&#8221;).
All holders of the Series C Preferred Stock elected the 19.99% Beneficial Ownership Limitation.</ix:nonNumeric></span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On February 26, 2021, the Company entered into a
Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with certain existing investors in the Company (the &#8220;Purchasers&#8221;).
Pursuant to the Purchase Agreement, the Purchasers purchased 4,500 shares of a newly authorized Series C Convertible Preferred Stock,
and the Company received proceeds of $<span id="xdx_90D_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20210225__20210226__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zF87pI0cIp28"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2021-02-252021-02-26_custom_PurchaseAgreementMember" id="Fact001605" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,500,000</ix:nonFraction></span>.
The Purchase Agreement contains customary representations, warranties, agreements and indemnification rights and obligations of the parties.
In January 2022, the 2,500 outstanding shares of Series C Convertible Preferred Stock were converted into <span id="xdx_909_ecustom--SeriesCPreferredConvertedToCommonStockShares_c20220101__20220131__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zkdL7mJfg2w2" title="Series C preferred converted to common stock shares"><ix:nonFraction name="duot:SeriesCPreferredConvertedToCommonStockShares" contextRef="From2022-01-012022-01-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact001607" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">454,546</ix:nonFraction>
</span>shares of common stock. As of December 31, 2023 and December 31, 2022, respectively, there were zero <b style="display: none"><span id="xdx_906_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zg55JBqFAYEk" title="Preferred stock, shares issued"><span id="xdx_90B_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zMKbRORVBl7d" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact001609" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact001611" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span></b> and zero <b style="display: none"><span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zgNuGljw0fl2" title="Preferred stock, shares issued"><span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_z2JJTHYKiHMd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact001613" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember" id="Fact001615" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span></b>
shares of Series C Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with the Purchase Agreement, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company filed
with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of Series
C Convertible Preferred Stock were convertible. The Registration Rights Agreement contains customary representations, warranties, agreements
and indemnification rights and obligations of the parties.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_23F_z5nJMd4YjOJ7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 79 -->
    <div id="xdx_23E_zlnJXtiytKik" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_236_z7tNmDf1oy0j" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_23E_z5iDgfmCiZ2h" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_238_zplh95pD6Nda" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline">Series D Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 28, 2022, the Company amended its
articles of incorporation to designate <span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_iI_c20220928__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zvmZ7fTPrMo4" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember" id="Fact001620" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,000</ix:nonFraction></span>
shares as the Series D Convertible Preferred Stock (the &#8220;Series D Convertible Preferred Stock&#8221;). Each share of the
Series D Convertible Preferred Stock has a stated value of $<span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20220928__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zCFhvaL67jLd" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember" id="Fact001622" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span>.
The holders of the Series D Convertible Preferred Stock, the holders of the common stock and the holders of any other class or
series of shares entitled to vote with the common stock shall vote together as one class on all matters submitted to a vote of
shareholders of the Company. <span id="xdx_903_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zFj1Sibu234f" title="Preferred stock voting rights"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact001624" name="us-gaap:PreferredStockVotingRights">Each
share of Series D Convertible Preferred Stock has 333 votes</ix:nonNumeric></span> (subject to standard anti-dilution adjustment); provided that in
no event may a holder of Series D Convertible Preferred Stock be entitled to vote a number of shares in excess of such
holder&#8217;s Beneficial Ownership Limitation (as defined in the Certificate of Designation and as described below). Each share of
Series D Convertible Preferred Stock is convertible, at any time and from time to time, at the option of the holder, into that
number of shares of common stock (subject to the Beneficial Ownership Limitation) determined by dividing the stated value of such
share ($1,000) by the conversion price, which is $<span id="xdx_900_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zZFJp7gmpUt8" title="Conversion price"><ix:nonFraction name="us-gaap:PreferredStockConvertibleConversionPrice" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact001626" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.00</ix:nonFraction></span>
(subject to adjustment). The Company shall not effect any conversion of the Series D Convertible Preferred Stock, and a holder shall
not have the right to convert any portion of the Series D Convertible Preferred Stock, to the extent that after giving effect to the
conversion sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate of
Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion (the
&#8220;Beneficial Ownership Limitation&#8221;). All holders of the Series D Preferred Stock elected the 19.99% Beneficial Ownership
Limitation. The Company shall reserve and keep available out of its authorized and unissued Common Stock, solely for the issuance
upon the conversion of the Series D Convertible Preferred Stock, such a number of shares of Common Stock as shall from time to time
be issuable upon the conversion of all of the shares of the Series D Convertible Preferred Stock then outstanding. Additionally, the
Series D Convertible Preferred Stock does not have the right to dividends and in the event of an involuntary liquidation, the Series
D shares shall be treated as a pro rata equivalent of common stock outstanding at the date of the liquidation event and have no
liquidation preference.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 30, 2022, the Company entered into a
Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with certain existing investors in the Company (the &#8220;Purchasers&#8221;).
Pursuant to the Purchase Agreement, the Purchasers purchased <span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20220930__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zj5HvVP2bIjk" title="Preferred stock, shares issued"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-09-30_custom_PurchaseAgreementMember_custom_SeriesDConvertiblePreferredStockMember" id="Fact001628" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">999</ix:nonFraction></span> shares of the newly authorized Series D Convertible Preferred Stock,
and the Company received proceeds of $<span id="xdx_902_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20220701__20220930__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zfGGnx7f7XC3" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2022-07-012022-09-30_custom_SeriesDConvertiblePreferredStockMember_custom_PurchaseAgreementMember" id="Fact001630" format="ixt:numdotdecimal" decimals="0" unitRef="USD">999,000</ix:nonFraction></span>. The Purchase Agreement contains customary representations, warranties, agreements and indemnification
rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On October 29, 2022, the Company entered into a Securities
Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with a certain existing investor in the Company (the &#8220;Purchaser&#8221;).
Pursuant to the Purchase Agreement, the Purchaser purchased <span id="xdx_901_eus-gaap--PreferredStockSharesIssued_iI_c20221029__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__us-gaap--PrivatePlacementMember_z8Rg1iAbWQJi" title="Preferred stock, shares issued"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-10-29_custom_SeriesDConvertiblePreferredStockMember_us-gaap_PrivatePlacementMember" id="Fact001632" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">300</ix:nonFraction></span> shares of the newly authorized Series D Convertible Preferred Stock, and
the Company received proceeds of $<span id="xdx_90F_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20221028__20221029__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__us-gaap--PrivatePlacementMember_zaAWnsv5BNb9" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2022-10-282022-10-29_custom_SeriesDConvertiblePreferredStockMember_us-gaap_PrivatePlacementMember" id="Fact001634" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">300,000</ix:nonFraction></span>. The Purchase Agreement contains customary representations, warranties, agreements and indemnification
rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with such Purchase Agreements, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company filed
with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of Series
D Convertible Preferred Stock are convertible. The Registration Rights Agreement contains customary representations, warranties, agreements
and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/106% Times New Roman, Times, Serif; margin: 0; text-align: justify">On May 16, 2023 the Series D Convertible Preferred Stock was approved
for conversion to common shares during the Company&#8217;s annual shareholder meeting.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023 and December 31, 2022, respectively,
there were <span id="xdx_908_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z1vLqqzMYPv1" title="Preferred stock, shares issued"><span id="xdx_90C_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z8Q6oSxxOTqd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact001636" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact001638" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,299</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zP24RNtCVk21" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zSbBa3dn66jl" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact001640" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember" id="Fact001642" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,299</ix:nonFraction></ix:nonFraction></span></span> shares of Series D Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Series E Convertible Preferred Stock </span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s Board of Directors has designated
<span id="xdx_900_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zWRhQsknoXZg"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001643" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">30,000</ix:nonFraction></span> shares as the Series E Convertible Preferred Stock (the &#8220;Series E Convertible Preferred Stock&#8221;). Each share of the
Series E Convertible Preferred Stock has a stated value of $<span id="xdx_906_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zGTAEfqlVahj"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001644" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span>. The holders of the Series E Convertible Preferred Stock, the holders
of the common stock and the holders of any other class or series of shares entitled to vote with the common stock shall vote as one class
on all matters submitted to a vote of shareholders of the Company. <span id="xdx_90C_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z7d3DVAb002l"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001645" name="us-gaap:PreferredStockVotingRights">Each share of Series E Preferred Stock has 333 votes</ix:nonNumeric></span> (subject to adjustment);
provided that in no event may a holder of Series E Preferred Stock be entitled to vote a number of shares in excess of such holder&#8217;s
Beneficial Ownership Limitation. Each share of Series E Convertible Preferred Stock is convertible, subject to shareholder approval (which
has not yet been granted); at any time and from time to time, at the option of the holder, into that number of shares of common stock
(subject to the Beneficial Ownership Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price,
which is $3.00 (subject to adjustment). The Company shall not effect any conversion of the Series E Convertible Preferred Stock, and the
holder shall not have the right to convert any portion of the Series E Convertible Preferred Stock, to the extent that after giving effect
to the conversion sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate
of Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion (the &#8220;Beneficial
Ownership Limitation&#8221;). All holders of the Series E Convertible Preferred Stock elected the 19.99% Beneficial Ownership Limitation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_235_zaozTbuxPWd4" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_237_zOKyPW5MWtkc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p></ix:exclude>

<ix:exclude><!-- Field: Page; Sequence: 80 -->
    <div id="xdx_239_znflFA9lqQY6" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->29<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_238_zol1RYysJcMl" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<ix:exclude><p id="xdx_23E_zudvKjn3iXx4" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23A_z3fbQnMfCqUd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company on March 27, 2023 entered into a Securities
Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with an existing investor in the Company (the &#8220;Purchaser&#8221;). Pursuant
to the Purchase Agreement, the Purchaser purchased <span id="xdx_90E_eus-gaap--PreferredStockSharesIssued_iI_c20230327__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z1MbwnLQ9F79" title="Preferred stock, shares issued"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001651" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,000</ix:nonFraction></span> shares of a newly authorized Series E Convertible Preferred Stock at a price
of $<span id="xdx_908_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20230327__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zl9rW0fULv29" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001653" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span> per share, and the Company received proceeds of $<span id="xdx_902_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20230326__20230327__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zkBjSAMoSJs9" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2023-03-262023-03-27_custom_SeriesEConvertiblePreferredStockMember_custom_PurchaseAgreementMember" id="Fact001655" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,000,000</ix:nonFraction></span>. The Purchase Agreement contains customary representations, warranties,
agreements and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The existing investor&#8217;s Purchase Agreement also
provides that the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the
Purchase Agreement) on or prior to December 31, 2023 that entitles any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Convertible Preferred Stock without the consent of the Purchaser.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On November 9, 2023, the Company entered into a
Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with an existing investor in the Company (the
&#8220;Purchaser&#8221;). Pursuant to the Purchase Agreement, the Purchaser purchased <span id="xdx_901_ecustom--SeriesEPreferredConvertiblePreferredStockShares_c20231108__20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_ziqXl2Nenuid" title="Series E preferred convertible preferred stock, Shares"><ix:nonFraction name="duot:SeriesEPreferredConvertiblePreferredStockShares" contextRef="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001657" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,500</ix:nonFraction></span>
shares of authorized Series E Convertible Preferred Stock, at a price of $<span id="xdx_90C_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zxF4A9Uy1uug" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001659" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span>
per share, and the Company received proceeds of $<span id="xdx_90F_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20231108__20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z8rimJc1KCO5" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001661" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,500,000</ix:nonFraction></span>.
In connection with the November 2023 Series E Convertible Preferred Stock offering, the Company entered into an Exchange Agreement
with the investor and issued an additional <span id="xdx_904_eus-gaap--SharesIssued_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zmanpazsAeHl" title="Additional shares"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="AsOf2023-11-09_custom_SeriesEConvertiblePreferredStockMember" id="Fact001663" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span>
shares of Series E Convertible Preferred Stock at $<span id="xdx_90F_eus-gaap--SharePrice_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zQdlK1yZmGDe" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2023-11-09_custom_SeriesEConvertiblePreferredStockMember" id="Fact001665" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span>
per share with the $<span id="xdx_90C_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zrBkM6lgiUd4" title="Price per common share"><ix:nonFraction name="us-gaap:SharesIssuedPricePerShare" contextRef="AsOf2023-11-09_custom_SeriesEConvertiblePreferredStockMember" id="Fact001667" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.00</ix:nonFraction></span>
per common share common stock equivalent conversion price in exchange for <span id="xdx_90E_ecustom--StockExchangeShares_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zwQHrEnBBLF4" title="Exchange shares"><ix:nonFraction name="duot:StockExchangeShares" contextRef="AsOf2023-11-09_custom_SeriesFConvertiblePreferredStockMember" id="Fact001669" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span>
outstanding and issued shares of Series F Convertible Preferred Stock, which were convertible to common stock at $<span id="xdx_903_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_z8Ri1Z9iex5b" title="Price per common share"><ix:nonFraction name="us-gaap:SharesIssuedPricePerShare" contextRef="AsOf2023-11-09_custom_SeriesFConvertiblePreferredStockMember" id="Fact001671" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.20</ix:nonFraction></span>
per common share. All shares of Series F Convertible Preferred Stock were held by a single shareholder.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The November Purchase Agreement also provides that
the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the November Purchase
Agreement) on or prior to June 30, 2024 that entitles any person to acquire shares of common stock at an effective price per share less
than the then conversion price of the Series E Preferred Stock without the consent of the Purchasers. The conversion price of the Series
E Preferred Stock currently is $3.00 per share (subject to adjustment).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Purchasers under the November Purchase Agreement
also were the holders of the Company's Series F Preferred Stock issued on August 1, 2023. The purchase agreement relating to the shares
of Series F Preferred Stock required the consent of the holders in the event the Company were to issue common stock or rights to acquire
common stock prior to December 31, 2023 at an effective price per share less than the then conversion price of the Series F Preferred
Stock, which was $<span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z8J4CqGsXUWj" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001673" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.20</ix:nonFraction></span> per share. As a result, on November 10, 2023 the Company and the holders of the Series F Preferred Stock entered
into Exchange Agreements pursuant to which the holders of Series F Preferred Stock exchanged their <span id="xdx_90E_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z1ugYxC0BqX1" title="Additional shares"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001675" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of Series F Preferred
Stock for an equal number of shares of Series E Preferred Stock. As a result of the November Purchase Agreement and the Exchange Agreements,
the Company issued a total of <span id="xdx_90C_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zFXeYOPqpe1" title="Additional shares"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember" id="Fact001677" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,500</ix:nonFraction></span> shares of Series E Preferred Stock and the <span id="xdx_90E_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zZYo1FQjtnG" title="Additional shares"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001679" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of Series F Preferred Stock were cancelled.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The existing investor&#8217;s Purchase Agreement also
provides that the Company would not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the
Purchase Agreement) on or prior to December 31, 2023 that entitled any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Convertible Preferred Stock without the consent of the Purchaser.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023 and December 31, 2022, respectively,
there were <span id="xdx_903_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zNxKHfI4Xa13" title="Preferred stock, shares issued"><span id="xdx_908_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zHe8KsTmRA6" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_SeriesEConvertiblePreferredStockMember" id="Fact001681" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_SeriesEConvertiblePreferredStockMember" id="Fact001683" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">11,500</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zJIwVWDwqFy1" title="Preferred stock, shares issued"><span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zy7DTlM5KInd" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_SeriesEConvertiblePreferredStockMember" id="Fact001685" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_SeriesEConvertiblePreferredStockMember" id="Fact001687" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> shares of Series E Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Series F Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On August 2, 2023, the Company entered into a Securities
Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with an existing, accredited investor in the Company (the &#8220;Purchaser&#8221;).
Pursuant to the Purchase Agreement, the Purchaser purchased <span id="xdx_901_ecustom--SeriesFPreferredConvertiblePreferredStockShares_c20230730__20230802_zSv4hghWykVc" title="Series F preferred convertible preferred stock, Shares"><ix:nonFraction name="duot:SeriesFPreferredConvertiblePreferredStockShares" contextRef="From2023-07-302023-08-02" id="Fact001689" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of a newly authorized Series F Convertible Preferred Stock (the
&#8220;Series F Convertible Preferred Stock&#8221;), and the Company received proceeds of $<span id="xdx_90C_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20230730__20230802_zNiRpoeGbSWi" title="Proceeds from convertible preferred stock"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock" contextRef="From2023-07-302023-08-02" id="Fact001691" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,000,000</ix:nonFraction></span>. The Purchase Agreement contains
customary representations, warranties, agreements and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company's Board of Directors designated <span id="xdx_90B_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z6u1rSdYiydd" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001693" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span>
shares as the Series F Preferred Stock. Each share of Series F Preferred Stock is convertible, at any time and from time to time, at
the option of the holder, into that number of shares of common stock (subject to the beneficial ownership limitation described
below) determined by dividing the stated value of such share ($<span id="xdx_905_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zGi8J2a77DF9" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001695" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span>)
by the conversion price, which is $<span id="xdx_90D_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z51I1i0hGWB" title="Conversion price"><ix:nonFraction name="us-gaap:PreferredStockConvertibleConversionPrice" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001697" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.20</ix:nonFraction></span>
(subject to adjustment) which equates to 161 common shares for each converted Series F preferred share. The Company, however, shall not effect any conversion of the Series F Preferred Stock, and the holder
shall not have the right to convert any portion of the Series F Preferred Stock, to the extent that after giving effect to the
conversion sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate of
Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion. The purchasers
of the Series F Preferred Stock elected that their ownership limitation would be 19.99%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The holders of the Series F Preferred Stock, the holders
of the common stock and the holders of any other class or series of shares entitled to vote with the common stock shall vote together
as one class on all matters submitted to a vote of shareholders of the Company. <span id="xdx_900_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zjTmKrb58wml" title="Preferred stock voting rights"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001699" name="us-gaap:PreferredStockVotingRights">Each share of Series F Preferred Stock had 161 votes</ix:nonNumeric></span> (subject
to adjustment); provided that in no event may a holder of Series F Preferred Stock be entitled to vote a number of shares in excess of
such holder&#8217;s ownership limitation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company also agreed that it would not, with certain
exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the Purchase Agreement relating to the Series F Preferred
Stock) on or prior to December 31, 2023 that entitled any person to acquire shares of common stock at an effective price per share less
than the then conversion price of the Series F Preferred Stock without the consent of the holders. As a result of that agreement, upon
the issuance of <span id="xdx_90C_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_znMtlKNCwLHh" title="Additional shares"><ix:nonFraction name="us-gaap:SharesIssued" contextRef="AsOf2023-11-10_custom_SeriesEConvertiblePreferredStockMember" id="Fact001701" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,500</ix:nonFraction></span> shares of Series E Preferred Stock (which have a conversion price of $<span id="xdx_90B_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zJx9JwAcSOF1" title="Conversion price"><ix:nonFraction name="us-gaap:PreferredStockConvertibleConversionPrice" contextRef="AsOf2023-11-10_custom_SeriesEConvertiblePreferredStockMember" id="Fact001703" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.00</ix:nonFraction></span> per share) on November 10, 2023, the
holders exchanged their <span id="xdx_906_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zdfKuipyr5Qh" title="Exchange of shares"><ix:nonFraction name="duot:StockExchangeShares" contextRef="AsOf2023-11-10_custom_SeriesFConvertiblePreferredStockMember" id="Fact001705" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of Series F Preferred Stock for <span id="xdx_904_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zpR4YiDARcL5" title="Exchange of shares"><ix:nonFraction name="duot:StockExchangeShares" contextRef="AsOf2023-11-10_custom_SeriesEConvertiblePreferredStockMember" id="Fact001707" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000</ix:nonFraction></span> shares of Series E Preferred Stock. All of the shares of Series
F Preferred Stock thereupon were cancelled with <span id="xdx_901_eus-gaap--CapitalUnitsOutstanding_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zGSNr7VyeT55" title="Shares outstanding"><ix:nonFraction name="us-gaap:CapitalUnitsOutstanding" contextRef="AsOf2023-11-10_custom_SeriesFConvertiblePreferredStockMember" id="Fact001709" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></span> shares now outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023 and December 31, 2022, respectively,
there were <span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z1ncmwT3CFp7" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zdzpULob2kRc" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001711" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001713" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zrLiQOAj4EDe" title="Preferred stock, shares issued"><span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z3Rso6sx9PE" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001715" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember" id="Fact001717" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></span></span> shares of Series F Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_232_zhmsAXmnSJr8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 81 -->
    <div id="xdx_237_zxpS2l3s3iwe" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->30<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_237_zwdD4ak6ArF2" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_233_z76UJk5VTPb8" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23D_z14KFvrEw4Re" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Common stock issued</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">2023 Transactions</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On March 31, 2023, the Company issued <span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zAPha2tkgkZ1" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001722" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,463</ix:nonFraction></span> shares
of common stock for payment of board fees to three directors for a value of $<span id="xdx_905_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zrJ9KQ1V0Cjj" title="Stock issued for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001724" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">32,500</ix:nonFraction></span> for services to the board which was expensed during
the three months ended March 31, 2023. The value of the shares is based on the March 31, 2023 grant date quoted trading price of $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zpKdAnsR9eQf" title="Weighted average price per share"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" contextRef="AsOf2023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001726" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.61</ix:nonFraction></span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On June 30, 2023, the Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230401__20230630__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zrr4GG3TuEw2" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-04-012023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001728" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,645</ix:nonFraction></span> shares
of common stock for payment of board fees to three directors for a value of $<span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20230401__20230630__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zvJyiWWgR7mb" title="Stock issued for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-04-012023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001730" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">32,500</ix:nonFraction></span> for services to the board which was expensed during
the three months ended June 30, 2023. The value of the shares is based on the June 30, 2023 grant date quoted trading price of $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20230630__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zQzhXfrJRFvg" title="Weighted average price per share"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" contextRef="AsOf2023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember" id="Fact001732" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.76</ix:nonFraction></span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On June 30, 2023, the Company issued <span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z83BBq4hjH2k" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-01-012023-06-30_us-gaap_EmployeeStockOptionMember" id="Fact001734" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">65,561</ix:nonFraction></span>
shares of common stock to employees participating in the Company&#8217;s Employee Stock Purchase Plan at the end of a six-month
offering period. The employee contributions totaled $<span id="xdx_90F_eus-gaap--EmployeeStockOwnershipPlanESOPCashContributionsToESOP_pp0p0_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zyxVOD8WQH8h" title="Total employee participation amount"><ix:nonFraction name="us-gaap:EmployeeStockOwnershipPlanESOPCashContributionsToESOP" contextRef="From2023-01-012023-06-30_us-gaap_EmployeeStockOptionMember" id="Fact001736" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">117,048</ix:nonFraction></span>
for the six months ended June 30, 2023 and represented a purchase price of $<span id="xdx_902_eus-gaap--SharePrice_iI_c20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zghT7AUoadP7" title="Purchase price per share"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2023-06-30_us-gaap_EmployeeStockOptionMember" id="Fact001738" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.79</ix:nonFraction></span>
per share and stock-based compensation of $<span id="xdx_900_eus-gaap--AllocatedShareBasedCompensationExpense_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zaYoCQlZXage" title="Stock-based compensation"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-06-30_us-gaap_EmployeeStockOptionMember" id="Fact001740" format="ixt:numdotdecimal" decimals="0" unitRef="USD">66,217</ix:nonFraction></span> was recognized.
The purchase price for one share of Common Stock under the ESPP is equal to 85% of the fair market value of one share of Common
Stock on the first trading day of the offering period or the purchase date, whichever is lower.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company issued <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230701__20230930__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_pdd" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-07-012023-09-30_custom_FourDirectorsMember_us-gaap_CommonStockMember" id="Fact001742" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,910</ix:nonFraction></span> shares of common stock for
payment of board fees to four directors for a value of $<span id="xdx_904_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230701__20230930__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_pp0p0" title="Stock issued for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-07-012023-09-30_custom_FourDirectorsMember_us-gaap_CommonStockMember" id="Fact001744" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,565</ix:nonFraction></span> for services to the board which was expensed during the three months ended
September 30, 2023. The value of the shares is based on the September 29, 2023 grant date quoted trading price of $<span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_c20230929__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_pdd" title="Weighted average price per share"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" contextRef="AsOf2023-09-29_custom_FourDirectorsMember_us-gaap_CommonStockMember" id="Fact001746" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.13</ix:nonFraction></span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: #2B579A"></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">For the three months ended September 30, 2023, the Company had an
accrued liability of $<span id="xdx_902_eus-gaap--AccruedLiabilitiesCurrentAndNoncurrent_iI_c20230930__us-gaap--AwardTypeAxis__custom--ESPPMember_zTzv9Vcc5Vx" title="Accrued liability"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrentAndNoncurrent" contextRef="AsOf2023-09-30_custom_ESPPMember" id="Fact001748" format="ixt:numdotdecimal" decimals="0" unitRef="USD">72,801</ix:nonFraction></span> of employee contributions for the ESPP which may convert to shares of common stock upon the close of the
offering period open from July 1, 2023 to December 31, 2023.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20231001__20231231__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zphPYBWN5YR5" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-10-012023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember" id="Fact001750" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,231</ix:nonFraction></span> shares of common stock for
payment of board fees to four directors for a value of $<span id="xdx_900_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20231001__20231231__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zUov3SfgEnw9" title="Stock issued for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-10-012023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember" id="Fact001752" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">37,500</ix:nonFraction></span> for services to the board which was expensed during the three months ended
December 31, 2023. The value of the shares is based on the December 29, 2023 grant date quoted trading price of $<span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20231231__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z9vUZO3I4vVf" title="Weighted average price per share"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" contextRef="AsOf2023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember" id="Fact001754" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.06</ix:nonFraction></span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On December 29, 2023, the Company issued <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230701__20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoW7y5ubdiJ2" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-07-012023-12-29_us-gaap_EmployeeStockOptionMember" id="Fact001756" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">45,977</ix:nonFraction></span>
shares of common stock to employees participating in the Company&#8217;s Employee Stock Purchase Plan at the end of a six-month
offering period. The employee contributions totaled $<span id="xdx_901_eus-gaap--EmployeeStockOwnershipPlanESOPCashContributionsToESOP_pp0p0_c20230701__20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z8EbnjxUVS9l" title="Total employee participation amount"><ix:nonFraction name="us-gaap:EmployeeStockOwnershipPlanESOPCashContributionsToESOP" contextRef="From2023-07-012023-12-29_us-gaap_EmployeeStockOptionMember" id="Fact001758" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">113,352</ix:nonFraction></span>
for the six months ended December 29, 2023 and represented a purchase price of $<span id="xdx_902_eus-gaap--SharePrice_iI_c20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXVHf9Yz213a" title="Purchase price per share"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2023-12-29_us-gaap_EmployeeStockOptionMember" id="Fact001760" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.47</ix:nonFraction></span>
per share and stock-based compensation of $<span id="xdx_901_eus-gaap--AllocatedShareBasedCompensationExpense_c20230701__20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zqERi5RA4ghg" title="Stock-based compensation"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-07-012023-12-29_us-gaap_EmployeeStockOptionMember" id="Fact001762" format="ixt:numdotdecimal" decimals="0" unitRef="USD">70,434</ix:nonFraction></span> was recognized. The purchase price for one share of Common Stock under the ESPP is equal to 85% of the fair market value of one share of
Common Stock on the first trading day of the offering period or the purchase date, whichever is lower.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">2022 Transactions</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On January 11, 2022, shareholders converted <span id="xdx_90A_ecustom--ConversionOfStockSharesIssued_c20220110__20220111_zpQeddrAwtob" title="Conversion of shares"><ix:nonFraction name="duot:ConversionOfStockSharesIssued" contextRef="From2022-01-102022-01-11" id="Fact001764" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">710</ix:nonFraction></span>&#160;and
<span id="xdx_909_ecustom--ConversionOfStockSharesIssued_c20220110__20220111__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zviBF09Pip43" title="Conversion of shares"><ix:nonFraction name="duot:ConversionOfStockSharesIssued" contextRef="From2022-01-102022-01-11_custom_ConvertibleSeriesCPreferredStockMember" id="Fact001766" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,790</ix:nonFraction></span> for a total of 2,500 shares of Series C Convertible Preferred Stock collectively with a stated value of $2.5 million owned by two
entities related to each other with a conversion price of $<span id="xdx_903_eus-gaap--CommonStockConvertibleConversionPriceIncrease_c20220110__20220111_zbnHIB8XpQWh" title="Conversion price"><ix:nonFraction name="us-gaap:CommonStockConvertibleConversionPriceIncrease" contextRef="From2022-01-102022-01-11" id="Fact001768" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.50</ix:nonFraction></span> per common share resulting in the issuance of 129,091 and 325,455 shares
of the Company&#8217;s common stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On February 3, 2022, the Company closed an offering
of <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220202__20220203_zrPNrCasW7Y" title="Number of shares issued, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2022-02-022022-02-03" id="Fact001770" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,325,000</ix:nonFraction></span> shares of common stock in the amount of $<span id="xdx_902_eus-gaap--StockIssuedDuringPeriodValueNewIssues_pp0p0_c20220202__20220203_zGu3kt8EDgvi" title="Number of shares issued, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-02-022022-02-03" id="Fact001772" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,300,000</ix:nonFraction></span> or $<span id="xdx_902_eus-gaap--SharePrice_iI_c20220203_z2APMPsbx4cb" title="Purchase price per share"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2022-02-03" id="Fact001774" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4</ix:nonFraction></span> per share before certain underwriting fees and offering expenses
with net proceeds of $<span id="xdx_903_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_pp0p0_c20220202__20220203_zxCVGIWhwNFh" title="Proceeds from offering cost"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceInitialPublicOffering" contextRef="From2022-02-022022-02-03" id="Fact001776" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,779,000</ix:nonFraction></span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On February 21, 2022, the Company closed on an &#8220;over-allotment&#8221;
offering of <span id="xdx_903_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220220__20220221_zVvmL5BmgZK" title="Number of shares issued, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2022-02-202022-02-21" id="Fact001778" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">198,750</ix:nonFraction></span> shares of common stock in the amount of $<span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueNewIssues_pp0p0_c20220220__20220221_zAzuGNrkyLLe" title="Number of shares issued, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2022-02-202022-02-21" id="Fact001780" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">795,000</ix:nonFraction></span> or $<span id="xdx_90E_eus-gaap--SharePrice_iI_c20220221_zqsrPQzsrQY4" title="Purchase price per share"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2022-02-21" id="Fact001782" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4</ix:nonFraction></span> per share before certain underwriting fees and offering expenses
with net proceeds of $<span id="xdx_90F_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_pp0p0_c20220220__20220221_ztheXUxFodaj" title="Proceeds from offering cost"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceInitialPublicOffering" contextRef="From2022-02-202022-02-21" id="Fact001784" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">739,350</ix:nonFraction></span>. Both this and the previous issuance were &#8220;takedowns&#8221; from a previously filed &#8220;shelf&#8221;
registration statement for the offer of up to $<span id="xdx_90E_eus-gaap--CommonStockIssuedEmployeeTrustDeferred_iI_pp0p0_c20220221_zp9j6T4s3WV8" title="Aggregate common stock"><ix:nonFraction name="us-gaap:CommonStockIssuedEmployeeTrustDeferred" contextRef="AsOf2022-02-21" id="Fact001786" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">50,000,000</ix:nonFraction></span> in the aggregate of common stock, Preferred Stock, Debt Securities, Warrants,
Rights or Units from time to time in one or more offerings.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On March 31, 2022, the Company issued <span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220101__20220331__srt--TitleOfIndividualAxis__srt--DirectorMember_zaH6tUO0n9dh" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2022-01-012022-03-31_srt_DirectorMember" id="Fact001788" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,198</ix:nonFraction></span>
shares of common stock for payment of board fees to four directors in the amount of $<span id="xdx_905_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20220101__20220331__srt--TitleOfIndividualAxis__srt--DirectorMember_z1JbQpBPum9" title="Stock issued for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-01-012022-03-31_srt_DirectorMember" id="Fact001790" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,000</ix:nonFraction></span>
at $<span id="xdx_90D_eus-gaap--SaleOfStockPricePerShare_iI_c20230331__srt--TitleOfIndividualAxis__srt--DirectorMember_zMBd0KRw9Tt9" title="Services per share"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2023-03-31_srt_DirectorMember" id="Fact001792" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.56</ix:nonFraction></span> per share for services to the board which was expensed during the three months ended March 31, 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On June 30, 2022, the Company issued <span id="xdx_906_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220401__20220630__srt--TitleOfIndividualAxis__srt--DirectorMember_z333wLAJhigl" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2022-04-012022-06-30_srt_DirectorMember" id="Fact001794" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">10,668</ix:nonFraction></span>
shares of common stock for payment of board fees to four directors in the amount of $<span id="xdx_901_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20220401__20220630__srt--TitleOfIndividualAxis__srt--DirectorMember_z8H7O1EnIsp" title="Stock issued for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-04-012022-06-30_srt_DirectorMember" id="Fact001796" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,000</ix:nonFraction></span>
at $<span id="xdx_90C_eus-gaap--SaleOfStockPricePerShare_iI_c20230630__srt--TitleOfIndividualAxis__srt--DirectorMember_zDGoEy5pQ7X1" title="Services per share"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2023-06-30_srt_DirectorMember" id="Fact001798" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.75</ix:nonFraction></span> per share for services to the board which was expensed during the three months ended June 30, 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On August 25, 2022, <span id="xdx_903_ecustom--ConvertedToCommonStockShares_c20220824__20220825_zuME2Rfo4sgj" title="Converted to common stock shares"><ix:nonFraction name="duot:ConvertedToCommonStockShares" contextRef="From2022-08-242022-08-25" id="Fact001800" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">121,572</ix:nonFraction></span> common shares were issued
upon conversion of <span id="xdx_90D_ecustom--ConvertedToCommonStockShares_c20220824__20220825__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zF3IPcsJFe2l" title="Converted to common stock shares"><ix:nonFraction name="duot:ConvertedToCommonStockShares" contextRef="From2022-08-242022-08-25_custom_ConvertibleSeriesBPreferredStockMember" id="Fact001802" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">851</ix:nonFraction></span> shares of Series B Preferred Stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 30, 2022, the Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220701__20220930__srt--TitleOfIndividualAxis__srt--DirectorMember_z3G87PQ9aZu2" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2022-07-012022-09-30_srt_DirectorMember" id="Fact001804" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,758</ix:nonFraction></span> shares
of common stock for payment of board fees to four directors in the amount of $<span id="xdx_909_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20220701__20220930__srt--TitleOfIndividualAxis__srt--DirectorMember_z4z6E3rQ2Nih" title="Stock issued for services , value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2022-07-012022-09-30_srt_DirectorMember" id="Fact001806" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,000</ix:nonFraction></span>, or $4.09 per share based on the daily trading price,
for services to the board which was expensed during the three months ended September 30, 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 30, 2022, we sold to certain existing
investors in the Company in a private placement <span id="xdx_907_eus-gaap--PartnersCapitalAccountUnitsSoldInPrivatePlacement_c20220701__20220930__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zFioAmfFEr5l" title="Private placement sold"><ix:nonFraction name="us-gaap:PartnersCapitalAccountUnitsSoldInPrivatePlacement" contextRef="From2022-07-012022-09-30_us-gaap_PrivatePlacementMember" id="Fact001808" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">818,335</ix:nonFraction></span> shares of common stock at a price of $<span id="xdx_90B_eus-gaap--SaleOfStockPricePerShare_iI_c20220930__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zg4BaPd3Tv2d" title="Share price"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2022-09-30_us-gaap_PrivatePlacementMember" id="Fact001810" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.00</ix:nonFraction></span> a share and <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesOther_c20220701__20220930__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zt9an4Aozmbc" title="Number of shares issued"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesOther" contextRef="From2022-07-012022-09-30_us-gaap_SeriesDPreferredStockMember" id="Fact001812" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">999</ix:nonFraction></span> shares of Series D
Preferred Stock at a price of $<span id="xdx_901_eus-gaap--SharePrice_iI_c20220930__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z6BzLuKqB458" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2022-09-30_us-gaap_SeriesDPreferredStockMember" id="Fact001814" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span> a share, resulting in the gross amount raised of $<span id="xdx_902_eus-gaap--ProceedsFromIssuanceOfPrivatePlacement_c20220701__20220930__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zJM95FzjpzTb" title="Gross proceeds private placement"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfPrivatePlacement" contextRef="From2022-07-012022-09-30_us-gaap_SeriesDPreferredStockMember" id="Fact001816" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,454,003</ix:nonFraction></span> and we accrued estimated offering costs
of $<span id="xdx_906_ecustom--AccruedOfferingCosts_iI_c20220930_zzcn28BogP07" title="Accrued offering costs"><ix:nonFraction name="duot:AccruedOfferingCosts" contextRef="AsOf2022-09-30" id="Fact001818" format="ixt:numdotdecimal" decimals="0" unitRef="USD">260,816</ix:nonFraction></span> as of September 30, 2022. Subsequently, we adjusted the estimated offering costs to the actual amount of $<span id="xdx_903_eus-gaap--DeferredOfferingCosts_iI_c20220930_zqk0KYbe5nNf" title="Offering costs"><ix:nonFraction name="us-gaap:DeferredOfferingCosts" contextRef="AsOf2022-09-30" id="Fact001820" format="ixt:numdotdecimal" decimals="0" unitRef="USD">257,240</ix:nonFraction></span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On October 29, 2022, we sold to an existing investor
in the Company and two accredited investors in a private placement <span id="xdx_90E_eus-gaap--PartnersCapitalAccountUnitsSoldInPrivatePlacement_c20221028__20221029__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zD8K46FKV4Qi" title="Private placement sold"><ix:nonFraction name="us-gaap:PartnersCapitalAccountUnitsSoldInPrivatePlacement" contextRef="From2022-10-282022-10-29_us-gaap_PrivatePlacementMember" id="Fact001822" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">83,667</ix:nonFraction></span> shares of common stock at a price of $<span id="xdx_901_eus-gaap--SaleOfStockPricePerShare_iI_c20221029__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zPMP8vYBwFw9" title="Share price"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2022-10-29_us-gaap_PrivatePlacementMember" id="Fact001824" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.00</ix:nonFraction></span> a share and <span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesOther_c20221028__20221029__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z6XAROULBKc" title="Number of shares issued"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesOther" contextRef="From2022-10-282022-10-29_us-gaap_SeriesDPreferredStockMember" id="Fact001826" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">300</ix:nonFraction></span> shares
of Series D Preferred Stock at a price of $<span id="xdx_901_eus-gaap--SharePrice_iI_c20221029__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zsllYWmh7mX" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2022-10-29_us-gaap_SeriesDPreferredStockMember" id="Fact001828" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1,000</ix:nonFraction></span> a share, resulting in the gross amount raised of $<span id="xdx_905_eus-gaap--ProceedsFromIssuanceOfPrivatePlacement_c20221028__20221029__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z1Xh0SmTtbt6" title="Gross proceeds private placement"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfPrivatePlacement" contextRef="From2022-10-282022-10-29_us-gaap_SeriesDPreferredStockMember" id="Fact001830" format="ixt:numdotdecimal" decimals="0" unitRef="USD">551,001</ix:nonFraction></span>, including gross proceeds of
$251,001 for common stock and $300,000 for Series D Preferred Stock, and recorded offering costs of $<span id="xdx_90B_eus-gaap--DeferredOfferingCosts_iI_c20221029_z3VEDc5cVKX3" title="Offering costs"><ix:nonFraction name="us-gaap:DeferredOfferingCosts" contextRef="AsOf2022-10-29" id="Fact001832" format="ixt:numdotdecimal" decimals="0" unitRef="USD">105,460</ix:nonFraction></span>.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On December 30, 2022, the Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20231001__20231231__srt--TitleOfIndividualAxis__srt--DirectorMember_zpHYTpk6Vc46" title="Stock issued for services , shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-10-012023-12-31_srt_DirectorMember" id="Fact001834" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">16,335</ix:nonFraction></span>
shares of common stock for payment of board fees to four directors in the amount of $<span id="xdx_908_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20231001__20231231__srt--TitleOfIndividualAxis__srt--DirectorMember_zdgofJF6FhA4" title="Stock issued for services , value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-10-012023-12-31_srt_DirectorMember" id="Fact001836" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,500</ix:nonFraction></span>
at $<span id="xdx_901_eus-gaap--SaleOfStockPricePerShare_iI_c20231231__srt--TitleOfIndividualAxis__srt--DirectorMember_zysfTzbHftKc" title="Services per share"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2023-12-31_srt_DirectorMember" id="Fact001838" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.30</ix:nonFraction></span> per share for services to the board which was expensed during the three months ended December 31, 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_23F_zvdOBjJlvyOj" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 82 -->
    <div id="xdx_23B_z7g67vFi8OTi" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->31<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23A_zLBBTZdnYN65" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_239_zKBuBm60YUok" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_234_zvSUt9g3FXli" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Employee Stock Purchase Plan</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In the fourth quarter of 2022, the board of
directors adopted an Employee Stock Purchase Plan (&#8220;ESPP&#8221;) which, was effective as of January 1, 2023 with a term of <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20231001__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zvnVGgPpJCs9" title="Plan, term"><ix:nonNumeric contextRef="From2023-10-012023-12-31_custom_EmployeeStockPurchasePlanMember" format="ixt-sec:duryear" id="Fact001843" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">10</ix:nonNumeric></span>
years. <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_c20231001__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zMZUDFr34Ru5" title="Plan, description"><ix:nonNumeric contextRef="From2023-10-012023-12-31_custom_EmployeeStockPurchasePlanMember" id="Fact001845" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription">The ESPP allows eligible employees to purchase shares of the Company's common stock at a discounted price, through payroll
deductions from a minimum of 1% and up to 25% of their eligible compensation up to a maximum of $25,000 or the IRS allowable limit
per calendar year.</ix:nonNumeric></span> The Company&#8217;s Chief Financial Officer administers the ESPP in conjunction with approvals from the
Company&#8217;s Compensation Committee, including with respect to the frequency and duration of offering periods, the maximum number
of shares that an eligible employee may purchase during an offering period, and, subject to certain limitations set forth in the
ESPP, the per-share purchase price. Currently, the maximum number of shares that can be purchased by an eligible employee under the
ESPP is 10,000 shares per offering period and there are two six-month offering periods that begin in the first and third quarters of
each fiscal year. The purchase price for one share of Common Stock under the ESPP is currently equal to 85% of the fair market value
of one share of Common Stock on the first trading day of the offering period or the purchase date, whichever is lower (look-back
feature). Although not required by the ESPP, all payroll deductions received or held by the Company under the ESPP are segregated
and deemed as &#8220;restricted cash&#8221; until the completion of the offering period and redemption of the applicable shares and
those withheld amounts are recorded as liabilities. The maximum aggregate number of shares of the Common Stock that may be issued
under the ESPP is <span id="xdx_906_eus-gaap--CommonStockCapitalSharesReservedForFutureIssuance_iI_c20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_z1MlV7jNxLBj" title="Maximum aggregate number of shares of common stock"><ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" contextRef="AsOf2023-12-31_custom_EmployeeStockPurchasePlanMember" id="Fact001847" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,000,000</ix:nonFraction></span> shares.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under ASC 718-50 &#8220;Employee Share
Purchase Plans&#8221; the plan is considered a compensatory plan and the compensation for each six-month offering period is computed
based upon the grant date fair value of the estimated shares to be purchased based on the estimated payroll deduction withholdings.
The grant date fair value was computed as the sum of (a) 15% purchase discount off of the grant date quoted trading price of the
Company&#8217;s common stock and (b) the fair value of the look-back feature of the Company&#8217;s common stock on the grant date
which consists of a call option on 85% of a share of common stock and a put option on 15% of a share of common stock.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In the year ended December
31, 2023, the Company issued <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c20230101__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_z2tnGwSTZcI5" title="Issued shares"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" contextRef="From2023-01-012023-12-31_custom_EmployeeStockPurchasePlanMember" id="Fact001849" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">111,538</ix:nonFraction></span>
shares of common stock related to two transactions. For the six months ended June 30, 2023, the employee contributions for the first
ESPP tranche totaled $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_pp0p0_c20230101__20230630__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zGUIMeNNwuJe" title="Employee contributions"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" contextRef="From2023-01-012023-06-30_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember" id="Fact001851" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">117,048</ix:nonFraction></span>
and represented a purchase price of $<span id="xdx_900_eus-gaap--SharePrice_iI_c20230630__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zbQsclzi5jz7" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2023-06-30_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember" id="Fact001853" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.79</ix:nonFraction></span>
per share for <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c20230101__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zOrqkIMhBcKa" title="Issued shares"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" contextRef="From2023-01-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember" id="Fact001855" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">65,561</ix:nonFraction></span>
shares. For the six-month period beginning July 1, 2023 and ending December 31, 2023 the employee contributions for the second ESPP
tranche totaled $<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_pp0p0_c20230701__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zOWo8cuAqdF9" title="Employee contributions"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" contextRef="From2023-07-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" id="Fact001857" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">113,352</ix:nonFraction></span>
and represented a purchase price of $<span id="xdx_907_eus-gaap--SharePrice_iI_c20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zjfxHuCPmll2" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" id="Fact001859" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.47</ix:nonFraction></span>
per share for <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c20230701__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zbwmKlqTptWd" title="Issued shares"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" contextRef="From2023-07-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" id="Fact001861" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">45,977</ix:nonFraction></span>
shares.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Stock-Based Compensation</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Stock-based compensation expense recognized
under ASC 718-10 for the years ended December 31, 2023 and 2022, was $<span id="xdx_906_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_zcqVUUcm1tP" title="Stock-based compensation expense"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-12-31_custom_EmployeesAndDirectorsMember" id="Fact001863" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">573,441</ix:nonFraction></span>
and $<span id="xdx_907_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_z8TfVKr7NaFi" title="Stock-based compensation expense"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-12-31_custom_EmployeesAndDirectorsMember" id="Fact001865" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">819,191</ix:nonFraction></span>,
respectively, for stock options granted to employees and directors. This expense is included in selling general and administrative
expenses in the consolidated statements of operations. Stock-based compensation expense recognized during the periods is based on
the grant date fair value of the portion of share-based payment awards that is ultimately expected to vest during the period. At
December 31, 2023, the total compensation cost for stock options that was not yet recognized was $<span id="xdx_909_ecustom--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_pp0p0_c20231231_zFCpZH4x1F12" title="Total compensation cost for stock options"><ix:nonFraction name="duot:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" contextRef="AsOf2023-12-31" id="Fact001867" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">580,572</ix:nonFraction></span>.
This cost will be recognized over the remaining vesting term of the options ranging from <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dtM_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zxRAYzZ7uq9a" title="Vesting term"><ix:nonNumeric contextRef="From2023-01-012023-12-31_srt_MinimumMember" format="ixt-sec:durmonth" id="Fact001869" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">12</ix:nonNumeric></span> months to <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dtY_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zC932whmAEE7" title="Vesting term"><ix:nonNumeric contextRef="From2023-01-012023-12-31_srt_MaximumMember" format="ixt-sec:duryear" id="Fact001871" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">2.0</ix:nonNumeric></span>
years.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Treasury Stock</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In August 2016, the Company&#8217;s Board of
Directors approved a new class of Preferred Stock, &#8220;Series A&#8221;. For shareholders who invested in previous private placements,
the Company was offering on a case-by-case basis, the ability to convert the existing amount invested into an equivalent amount in the
Series A on the condition that they invest an equivalent additional amount in the Series A. In December of 2017, the Company redeemed
all of the Series A and continues to hold <span id="xdx_90F_eus-gaap--TreasuryStockCommonShares_c20171231_pdd" title="Treasury stock shares"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2017-12-31" id="Fact001873" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">235</ix:nonFraction></span> shares purchased for $<span id="xdx_90D_eus-gaap--TreasuryStockCommonValue_c20171231_pp0p0" title="Treasury stock"><ix:nonFraction name="us-gaap:TreasuryStockCommonValue" contextRef="AsOf2017-12-31" id="Fact001875" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">148,000</ix:nonFraction></span> as a part of the original transaction. In December 2018, the
Company entered into an agreement with two shareholders to purchase shares from them at fair market value. The Company purchased <span id="xdx_90D_eus-gaap--PaymentsForRepurchaseOfCommonStock_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_pp0p0" title="Repurchase of common stock"><ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="From2018-01-012018-12-31_custom_ShareholdersOneMember" id="Fact001877" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">84</ix:nonFraction></span> shares
at $<span id="xdx_909_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_pdd" title="Market value of stock repurchased"><ix:nonFraction name="us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare" contextRef="From2018-01-012018-12-31_custom_ShareholdersOneMember" id="Fact001879" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.00</ix:nonFraction></span> per shares and <span id="xdx_904_eus-gaap--PaymentsForRepurchaseOfCommonStock_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_pp0p0" title="Repurchase of common stock"><ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="From2018-01-012018-12-31_custom_ShareholdersTwoMember" id="Fact001881" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">140</ix:nonFraction></span> shares at $<span id="xdx_903_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_pdd" title="Market value of stock repurchased"><ix:nonFraction name="us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare" contextRef="From2018-01-012018-12-31_custom_ShareholdersTwoMember" id="Fact001883" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.30</ix:nonFraction></span> per share. In 2019, the Company entered into an agreement with two shareholders to purchase
shares from them at fair market value. The Company purchased <span id="xdx_90F_eus-gaap--PaymentsForRepurchaseOfCommonStock_pp0p0_c20230101__20231231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_zrTgHVX9dF8h" title="Repurchase of common stock"><ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="From2023-01-012023-12-31_custom_ShareholdersOneMember" id="Fact001885" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115</ix:nonFraction></span> shares at $<span id="xdx_902_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20230101__20231231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_zH6OQYUj22ve" title="Market value of stock repurchased"><ix:nonFraction name="us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare" contextRef="From2023-01-012023-12-31_custom_ShareholdersOneMember" id="Fact001887" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10.08</ix:nonFraction></span> per share and <span id="xdx_90C_eus-gaap--PaymentsForRepurchaseOfCommonStock_pp0p0_c20220101__20221231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_z4EnCUMRbXf8" title="Repurchase of common stock"><ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="From2022-01-012022-12-31_custom_ShareholdersTwoMember" id="Fact001889" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">753</ix:nonFraction></span> shares at $<span id="xdx_907_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20220101__20221231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_zG3w3wTt40C4" title="Market value of stock repurchased"><ix:nonFraction name="us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare" contextRef="From2022-01-012022-12-31_custom_ShareholdersTwoMember" id="Fact001891" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">9.09</ix:nonFraction></span> per share. Accordingly,
as of December 31, 2023, and 2022, the Company held <span id="xdx_90A_eus-gaap--TreasuryStockCommonShares_iI_c20231231_zp5AbZu1JNQ" title="Treasury stock shares"><span id="xdx_902_eus-gaap--TreasuryStockCommonShares_iI_c20221231_zGGE5tyqaxL9" title="Treasury stock shares"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2023-12-31" id="Fact001893" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2022-12-31" id="Fact001895" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,324</ix:nonFraction></ix:nonFraction></span></span> shares of Common at an aggregate value of $<span id="xdx_90F_eus-gaap--TreasuryStockCommonValue_iI_pp0p0_c20231231_zl7tiwSYW53f" title="Treasury stock"><span id="xdx_909_eus-gaap--TreasuryStockCommonValue_pp0p0_c20221231_zOsLiyGtsWz8" title="Treasury stock"><ix:nonFraction name="us-gaap:TreasuryStockCommonValue" contextRef="AsOf2023-12-31" id="Fact001897" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD"><ix:nonFraction name="us-gaap:TreasuryStockCommonValue" contextRef="AsOf2022-12-31" id="Fact001899" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">157,452</ix:nonFraction></ix:nonFraction></span></span>.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001901" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"><p id="xdx_80B_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zIR0Hc9HnJa6" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 13 &#8211; <span id="xdx_824_zYSptAOBIwF6">COMMON STOCK OPTIONS AND WARRANTS</span>
</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Options</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2023</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the second quarter of 2023, the
Company&#8217;s Board of Directors granted <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230401__20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zrrFay42lzFk" title="Options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-04-012023-06-30_srt_ManagementMember" id="Fact001903" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">293,117</ix:nonFraction></span>
new stock options and in the fourth quarter granted a further <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20231001__20231231__srt--TitleOfIndividualAxis__srt--ManagementMember_zUl23Adz8s76" title="Stock option granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-10-012023-12-31_srt_ManagementMember" id="Fact001905" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">170,000</ix:nonFraction></span>
new stock options both with a strike price of $<span id="xdx_904_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zUQfzY0Vl6rj" title="Strike price"><span id="xdx_90F_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20231231__srt--TitleOfIndividualAxis__srt--ManagementMember_zcqhxY5sViz1" title="Strike price"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" contextRef="AsOf2023-06-30_srt_ManagementMember" id="Fact001907" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" contextRef="AsOf2023-12-31_srt_ManagementMember" id="Fact001909" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.22</ix:nonFraction></ix:nonFraction></span></span>
per share to 19 key employees and one contract employee. These options were awarded as a one-time award as a retention incentive and
have a fair value of approximately $<span id="xdx_907_eus-gaap--StockOptionPlanExpense_pp0p0_c20230330__20230402__srt--TitleOfIndividualAxis__srt--ManagementMember_z4KBvqMC3LDd" title="Stock option plan expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2023-03-302023-04-02_srt_ManagementMember" id="Fact001911" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">556,000</ix:nonFraction></span>
for the April 1, 2023 awards and approximately $<span id="xdx_903_eus-gaap--StockOptionPlanExpense_c20231129__20231201__srt--TitleOfIndividualAxis__srt--ManagementMember_zA00w4h0tYp5" title="Stock option plan expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2023-11-292023-12-01_srt_ManagementMember" id="Fact001913" format="ixt:numdotdecimal" decimals="0" unitRef="USD">172,000</ix:nonFraction></span>
for the December 1, 2023 award and carry a three-year vesting period. The issuance of these options generated stock option
compensation expense in the year in the amount of $<span id="xdx_90C_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20230401__20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zgOpnNn87B7" title="Stock-based compensation expense"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-04-012023-06-30_srt_ManagementMember" id="Fact001915" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">269,611</ix:nonFraction></span>
and a balance of unamortized stock option compensation expense of $<span id="xdx_90C_eus-gaap--UnamortizedDebtIssuanceExpense_iI_pp0p0_c20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zgQlKDHRJmQ9" title="Unamortized expense"><ix:nonFraction name="us-gaap:UnamortizedDebtIssuanceExpense" contextRef="AsOf2023-06-30_srt_ManagementMember" id="Fact001917" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">458,389</ix:nonFraction></span>,
that is being expensed over the following <span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230401__20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zmMatGxYuAQk" title="Total compensation cost for stock options not yet recognized, period"><ix:nonNumeric contextRef="From2023-04-012023-06-30_srt_ManagementMember" format="ixt-sec:duryear" id="Fact001919" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">2.0</ix:nonNumeric></span>
years.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the first quarter of 2023, two former staff
members forfeited <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_c20230101__20230331__us-gaap--AwardTypeAxis__custom--OptionsMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--FormerStaffMember_zVPwgyEj1g3l" title="Non-qualified stock options, forfeited"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" contextRef="From2023-01-012023-03-31_custom_OptionsMember_custom_FormerStaffMember" id="Fact001921" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,608</ix:nonFraction></span> non-qualified stock options as the options expired.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2022</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the first quarter of 2022, the Company&#8217;s
Board of Directors granted <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_zPX07jsnnGm8" title="Options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-01-012022-03-31_srt_ManagementMember" id="Fact001923" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">665,000</ix:nonFraction></span> new stock options and in the third quarter granted a further <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220701__20220930__srt--TitleOfIndividualAxis__srt--ManagementMember_zuAEPa1EaLu4" title="Stock option granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-07-012022-09-30_srt_ManagementMember" id="Fact001925" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">20,000</ix:nonFraction></span> new stock options both with a strike
price of $<span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_zwNeZm1goHU4" title="Strike price"><span id="xdx_905_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20220930__srt--TitleOfIndividualAxis__srt--ManagementMember_zZhDxkz1Vsr" title="Strike price"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" contextRef="AsOf2022-03-31_srt_ManagementMember" id="Fact001927" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" contextRef="AsOf2022-09-30_srt_ManagementMember" id="Fact001929" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.41</ix:nonFraction></ix:nonFraction></span></span> per share to 16 key employees. These options were awarded as a one-time award as a retention incentive and have a fair
value of $<span id="xdx_902_eus-gaap--StockOptionPlanExpense_pp0p0_c20211228__20220102__srt--TitleOfIndividualAxis__srt--ManagementMember_zQdDZH2I8Ms1" title="Stock option plan expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2021-12-282022-01-02_srt_ManagementMember" id="Fact001931" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,596,804</ix:nonFraction></span> for the January 1, 2022 awards and $<span id="xdx_90F_eus-gaap--StockOptionPlanExpense_c20220701__20220702__srt--TitleOfIndividualAxis__srt--ManagementMember_zIbAL6i9DK57" title="Stock option plan expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2022-07-012022-07-02_srt_ManagementMember" id="Fact001933" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,096</ix:nonFraction></span> for the July 1, 2022 award and carry a three-year vesting period. The issuance
of these options generated stock option compensation expense in the year in the amount of $<span id="xdx_903_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_z5zIlIVHNzCd" title="Stock-based compensation expense"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-03-31_srt_ManagementMember" id="Fact001935" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">819,191</ix:nonFraction></span> and a balance of unamortized stock
option compensation expense of $<span id="xdx_903_eus-gaap--UnamortizedDebtIssuanceExpense_iI_pp0p0_c20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_znxhgYYPLjWb" title="Unamortized expense"><ix:nonFraction name="us-gaap:UnamortizedDebtIssuanceExpense" contextRef="AsOf2022-03-31_srt_ManagementMember" id="Fact001937" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">458,389</ix:nonFraction></span>, that is being expensed over the following <span id="xdx_903_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20220101__20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_z7G0Q3BdUYdh" title="Total compensation cost for stock options not yet recognized, period"><ix:nonNumeric contextRef="From2022-01-012022-03-31_srt_ManagementMember" format="ixt-sec:duryear" id="Fact001939" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">2.0</ix:nonNumeric> </span>years.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the second quarter of 2022, three former staff
members forfeited <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_c20220401__20220630__us-gaap--AwardTypeAxis__custom--OptionsMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--FormerStaffMember_zoo7tlTG5qIh" title="Non-qualified stock options, forfeited"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" contextRef="From2022-04-012022-06-30_custom_OptionsMember_custom_FormerStaffMember" id="Fact001941" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">110,000</ix:nonFraction></span> non-qualified stock options. Additionally, during the third quarter of 2022, two employees forfeited <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_c20220701__20220930__us-gaap--AwardTypeAxis__custom--OptionsMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--TwoEmployeesMember_zWeWsK4OYe9i" title="Non-qualified stock options, forfeited"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" contextRef="From2022-07-012022-09-30_custom_OptionsMember_custom_TwoEmployeesMember" id="Fact001943" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">80,000</ix:nonFraction></span>
non-qualified stock options.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_23A_zoQViSwjTpM8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 83 -->
    <div id="xdx_233_zZ2xLG4Ybx0g" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->32<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_23D_zwAcLwpq96V5" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_232_zrgZjZtsXTKk" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_231_zBlUiZUdwn78" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the third quarter of 2021, the shareholders
approved the issuance of up to one million shares or share equivalents in the form of stock options for the purposes of share issuance
for compensation to Board Members and grants to certain staff members for recruiting and retention. On August 5,  2021, the Company filed
an S-8 registration statement in concert with the 2021 Equity Incentive Plan. The plan covers a period of ten years.</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact001948" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"><table cellspacing="0" cellpadding="0" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)" id="xdx_888_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zwN3W4My0nSc" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B0_zJYezsyfR1oc" style="display: none">Schedule of options activity</span>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Weighted</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Weighted</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Average</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Average</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Remaining</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Aggregate</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Exercise</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Contractual</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Intrinsic</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Shares</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Price</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Term (Years)</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Value</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 44%; text-align: justify">Outstanding at December 31, 2021</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTfbtaKxVCci" title="Shares outstanding at beginning" style="width: 11%; text-align: right; line-height: 106%"><span style="line-height: 106%"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2021-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001950" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">431,266</ix:nonFraction></span></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmPPGJ4lJfu7" title="Weighted average exercise price outstanding at beginning" style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001952" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.98</ix:nonFraction></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 11%; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRvR6tCckBXg" title="Weighted average remaining contractual term (years) outstanding"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001954" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">3.4</ix:nonNumeric></span></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z2LKXtu4Txm" title="Aggregate intrinsic value outstanding at beginning" style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2021-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001956" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">197,506</ix:nonFraction></td>
    <td style="width: 1%; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Granted</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z0w0n9RwQnT4" title="Shares, granted" style="text-align: right; line-height: 106%"><span style="line-height: 106%"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001958" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">685,000</ix:nonFraction></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zbIkw5dc5gx9" title="Weighted average exercise price, granted" style="text-align: right; line-height: 106%"><span style="line-height: 106%"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001960" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.41</ix:nonFraction></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right; line-height: 106%"><span style="line-height: 106%"><span id="xdx_909_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNyzMeQ0JQlh" title="Weighted average remaining contractual term (years), granted"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001962" name="duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2">4.0</ix:nonNumeric></span></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Forfeited</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: justify">&#160;</td>
    <td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOOlPJ1ajV6i" title="Shares, forfeited" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001964" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">190,000</ix:nonFraction></td>
    <td style="text-align: justify">)</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZiSUJAJxXUj" title="Weighted average exercise price, forfeited" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001966" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.41</ix:nonFraction></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Outstanding at December 31, 2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrwFgqYaNp74" title="Shares outstanding at end" style="border-bottom: black 2.25pt double; text-align: right; line-height: 106%"><span style="line-height: 106%"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001968" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">926,266</ix:nonFraction></span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSHnI68d2iw3" title="Weighted average exercise price outstanding at end" style="text-align: right; line-height: 106%"><span style="line-height: 106%"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001970" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.74</ix:nonFraction></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOJxnkysXrlk" title="Weighted average remaining contractual term (years) outstanding"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001972" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">3.3</ix:nonNumeric></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrURwmBZwC0d" title="Aggregate intrinsic value outstanding at end" style="text-align: right; line-height: 106%"><span style="line-height: 106%"><span style="-sec-ix-hidden: xdx2ixbrl1974">&#8212;</span></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Exercisable at December 31, 2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAKZvcscc7le" title="Shares, exercisable" style="border-bottom: black 2.25pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001976" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">404,599</ix:nonFraction></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zcWVEtMqHpqf" title="Weighted average exercise price, exercisable" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001978" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.02</ix:nonFraction></td>
    <td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right; line-height: 106%"><span style="line-height: 106%"><span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6iOGi5qxk9" title="Weighted average remaining contractual term (years) exercisable"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001980" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">3.3</ix:nonNumeric></span></span></td>
    <td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd7hFGG3t8g6" title="Aggregate intrinsic value exercisable" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1982">&#8212;</span></td>
    <td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Outstanding at December 31, 2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoElHYuLr7N4" title="Shares outstanding at beginning" style="text-align: right; line-height: 106%"><span style="line-height: 106%"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001984" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">926,266</ix:nonFraction></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zv2Y4RcqmZR9" title="Weighted average exercise price outstanding at beginning" style="text-align: right; line-height: 106%"><span style="line-height: 106%"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001986" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.74</ix:nonFraction></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right; line-height: 106%"><span style="line-height: 106%"><span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zb2AYLBlA0wa" title="Weighted average remaining contractual term (years) outstanding"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact001988" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">3.3</ix:nonNumeric></span></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXbiN4RC05F6" title="Aggregate intrinsic value outstanding at beginning" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1990">&#8212;</span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Granted</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zLzohRUS0WCl" title="Shares, granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" id="Fact001992" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">463,117</ix:nonFraction></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgb4vZjXHdYk" title="Weighted average exercise price, granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" id="Fact001994" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.22</ix:nonFraction></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right"><span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmgQ05cAoVV1" title="Weighted average remaining contractual term (years), granted"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" format="ixt-sec:duryear" id="Fact001996" name="duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2">4.35</ix:nonNumeric></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Exercised/Forfeited</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z6OGsV1kKqd9" title="Shares, exercised/forfeited" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" id="Fact001998" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,608</ix:nonFraction></td>
    <td style="text-align: justify">)</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z8AZRaotLy89" title="Weighted average exercise price, exercised/forfeited" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" id="Fact002000" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">14.00</ix:nonFraction></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Outstanding at December 31, 2023</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTvCX0Gc70l" title="Shares outstanding at end" style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact002002" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,387,775</ix:nonFraction></td>
    <td style="border-top: white 1pt solid; border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVhYXNj7UIo6" title="Weighted average exercise price outstanding at end" style="border-bottom: black 2.25pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact002004" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.23</ix:nonFraction></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgC26Tluhwhb" title="Weighted average remaining contractual term (years) outstanding"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" format="ixt-sec:duryear" id="Fact002006" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">3.0</ix:nonNumeric></span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6mNdDXqd88" title="Aggregate intrinsic value outstanding at end" style="border-bottom: black 2.25pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2008">&#8212;</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Exercisable at December 31, 2023</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z9F3TwdN80Jg" title="Shares, exercisable" style="border-bottom: black 2.25pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact002010" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">581,324</ix:nonFraction></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zqWzhYUFrup3" title="Weighted average exercise price, exercisable" style="border-bottom: black 2.25pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact002012" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.38</ix:nonFraction></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: right"><span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrc6JJMfTNE6" title="Weighted average remaining contractual term (years) exercisable"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" format="ixt-sec:duryear" id="Fact002014" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">1.8</ix:nonNumeric></span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zyK363aAbl68" title="Aggregate intrinsic value exercisable" style="border-bottom: black 2.25pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2016">&#8212;</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td></tr>
  </table></ix:nonNumeric>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The fair value of the incentive stock option grants
for the years ended December 31, 2023 and 2022 were estimated using the following weighted- average assumptions:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact002018" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_883_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zArARYAEdFn2" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B5_zf50c5AuorL8" style="display: none">Schedule of weighted- average assumptions</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">For the Years Ended<br/> December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Risk free interest rate</td><td/>
    <td style="text-align: center"/><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfQIjymb0d91" title="Risk free interest rate"></span>  <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7VtVQCVXL0i" title="Risk free interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2023-01-012023-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember" id="Fact002022" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.73</ix:nonFraction></span>%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zB5aGaMyhr2j" title="Risk free interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2022-01-012022-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember" id="Fact002024" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">0.97</ix:nonFraction>%</span> &#8211; <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z72CCp0HlrU9" title="Risk free interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2022-01-012022-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember" id="Fact002026" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.15</ix:nonFraction></span>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; text-align: justify">Expected term in years</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: center">&#160;</td><td style="width: 14%; text-align: center"><span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z27pu6zDTDtj" title="Expected term in years"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" format="ixt-sec:duryear" id="Fact002028" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">3.50</ix:nonNumeric></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: center">&#160;</td><td style="width: 14%; text-align: center"><span style="line-height: 105%"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7ca4ibQiTle" title="Expected term in years"><ix:nonNumeric contextRef="From2022-01-012022-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact002030" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">3.25</ix:nonNumeric></span> &#8211; <span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPgMXGYdzGj" title="Expected term in years"><ix:nonNumeric contextRef="From2022-01-012022-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember" format="ixt-sec:duryear" id="Fact002032" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">3.50</ix:nonNumeric></span></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Dividend yield</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zaNcpF9zvqFj" title="Dividend yield"><span style="-sec-ix-hidden: xdx2ixbrl2034">&#8212;</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJLNiGFzi3Jk" title="Dividend yield"><span style="-sec-ix-hidden: xdx2ixbrl2036">&#8212;</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Volatility of common stock</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeL5eaUEDvgf" title="Volatility of common stock"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2023-01-012023-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember" id="Fact002038" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">54</ix:nonFraction>%</span>
                                              &#8211;<span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIImQQlq3Q98" title="Volatility of common stock"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2023-01-012023-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember" id="Fact002040" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">118</ix:nonFraction></span>%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYY3QqUoFyib" title="Volatility of common stock"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2022-01-012022-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember" id="Fact002042" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">72</ix:nonFraction>% </span>
                                              &#8211; <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zwQDQE0ZhEIg" title="Volatility of common stock"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2022-01-012022-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember" id="Fact002044" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Weighted average grant date fair value per option</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPmNmd9o6A3" title="Weighted average grant date fair value per option">$<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265" id="Fact002046" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.57</ix:nonFraction></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">$<span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zio6m7Uz5Zt3" title="Weighted average grant date fair value per option"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember" id="Fact002048" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.33</ix:nonFraction>&#160;</span></td><td style="text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Warrants</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2023</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the first and fourth quarters of 2023, warrants
held by 48 holders representing <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember__srt--CounterpartyNameAxis__custom--FourtyEightWarrantsHoldersMember_z845fJpxeKj5" title="Shares expired"><span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20231001__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember__srt--CounterpartyNameAxis__custom--FourtyEightWarrantsHoldersMember_zVRm7RiHsZ3f" title="Shares expired"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2023-01-012023-03-31_us-gaap_WarrantMember_custom_FourtyEightWarrantsHoldersMember" id="Fact002050" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2023-10-012023-12-31_us-gaap_WarrantMember_custom_FourtyEightWarrantsHoldersMember" id="Fact002052" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">102,947</ix:nonFraction></ix:nonFraction></span></span> shares expired. All of the expired warrants can no longer be exercised.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2022</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the fourth quarter of 2022, warrants held by
63 holders representing <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20221001__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember__srt--CounterpartyNameAxis__custom--SixtyThreeWarrantsHoldersMember_zvFi1xHcVWvg" title="Shares expired"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2022-10-012022-12-31_us-gaap_WarrantMember_custom_SixtyThreeWarrantsHoldersMember" id="Fact002054" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,228,875</ix:nonFraction></span> shares expired. All of the expired warrants can no longer be exercised.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_232_zmMJ1mRfb2V7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>


<ix:exclude><!-- Field: Page; Sequence: 84 -->
    <div id="xdx_23E_zeAFLEk8rL33" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->33<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_231_zGUmh5YnJ9Oi" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>


<ix:exclude><p id="xdx_237_zaYYWrXPtry6" style="font: 4pt Times New Roman, Times, Serif; margin: 0">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_239_z5SsavbxcsGl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p></ix:exclude>

<ix:exclude><p id="xdx_23A_zqxx6dS5aYTk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact002060" name="us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zrDJOfIE3kf9" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BA_zqhVsRlA3Ke6" style="display: none">Schedule of warrants outstanding</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Weighted</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Weighted</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Average</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Average</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Remaining</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Aggregate</td><td style="font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Number of</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Exercise</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Contractual</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Intrinsic</td><td style="font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Warrants</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Price</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Term (Years)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Value</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%">Outstanding at December 31, 2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z0w7IJh2Z1Ta" title="Number of warrants outstanding at beginning" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2021-12-31_us-gaap_WarrantMember" id="Fact002062" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,376,466</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zyWhQtdYV6ff" title="Weighted average exercise price outstanding at beginning" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" contextRef="AsOf2021-12-31_us-gaap_WarrantMember" id="Fact002064" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">8.18</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_907_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgvQhpBoilL6" title="Weighted average remaining contractual term (years)"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact002066" name="duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2">1.9</ix:nonNumeric></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zz1PNRbJfCb4" title="Aggregate intrinsic value outstanding at beginning" style="width: 10%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2068">&#8212;</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGBnjOMy9kOj" title="Warrants expired, forfeited, cancelled or exercised" style="text-align: right">(<ix:nonFraction name="duot:WarrantsExpiredForfeitedCancelledOrExercised" contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" id="Fact002070" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="Shares">1,228,875</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98D_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zrxsoQXCuxK1" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2072">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Warrants issued</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ConversionOfStockSharesIssued1_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE5GxMtNTOak" title="Warrants issued" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2074">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_988_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zooOWGpf031g" title="Weighted average exercise price, warrants issued" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2076">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zPLHttcTUO4l" title="Number of warrants outstanding at end" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="Fact002078" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">80,091</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJq6xNuAjY5" title="Weighted average exercise price outstanding at end" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="Fact002080" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">8.63</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_900_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zLageLx4pVbe" title="Weighted average remaining contractual term (years)"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact002082" name="duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2">0.98</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztYCmgq5Rdk8" title="Aggregate intrinsic value outstanding at end" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2084">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Exercisable at December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE1yezitepmb" title="Number of warrants, exercisable" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="Fact002086" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">80,091</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuxCYHqR0Lpl" title="Weighted average exercise price, exercisable" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="Fact002088" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">8.63</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1VhWjaJAswb" title="Weighted average remaining contractual term (years), exercisable"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact002090" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">0.8</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztw17ZNw1ZN5" title="Aggregate intrinsic value, exercisable" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2092">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Outstanding at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zoD9mxQQG092" title="Number of warrants outstanding at beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="Fact002094" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">80,091</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98C_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zdP7bab84vKj" title="Weighted average exercise price outstanding at beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" contextRef="AsOf2022-12-31_us-gaap_WarrantMember" id="Fact002096" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">8.63</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZDEU4SQOHQ1" title="Weighted average remaining contractual term (years), exercisable"><ix:nonNumeric contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact002098" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">0.8</ix:nonNumeric></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zX88U59TjoM3" title="Aggregate intrinsic value outstanding at beginning" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2100">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zi6U7g1KdNQg" title="Warrants expired, forfeited, cancelled or exercised" style="text-align: right">(<ix:nonFraction name="duot:WarrantsExpiredForfeitedCancelledOrExercised" contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" id="Fact002102" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="Shares">102,947</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbbGTlG2NdUd" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2104">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Warrants issued</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ConversionOfStockSharesIssued1_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zQfRULFz1Ahi" title="Warrants issued" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2106">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk1q3q81qcSd" title="Weighted average exercise price, warrants issued" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2108">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU5bYtgTjwv8" title="Number of warrants outstanding at end" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact002110" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">44,644</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRxIac0uaDt8" title="Weighted average exercise price outstanding at end" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact002112" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.70</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU2CK6g1GW79" title="Weighted average remaining contractual term (years)"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact002114" name="duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2">0.7</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zceK5biiFXWb" title="Aggregate intrinsic value outstanding at end" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2116">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Exercisable at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8di5qjrSmW9" title="Number of warrants, exercisable" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact002118" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">44,644</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zKNRnJdIjmF7" title="Weighted average exercise price, exercisable" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_WarrantMember" id="Fact002120" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.70</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zlNsmaY2iB05" title="Weighted average remaining contractual term (years), exercisable"><ix:nonNumeric contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember" format="ixt-sec:duryear" id="Fact002122" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">0.7</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRMPUZUaS91b" title="Aggregate intrinsic value, exercisable" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl2124">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact002126" name="us-gaap:DefinedContributionPlanTextBlock"><p id="xdx_807_eus-gaap--DefinedContributionPlanTextBlock_zZLmYXqVh35j" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 14 &#8211; <span id="xdx_826_zH3MnlZczFYh">DEFINED CONTRIBUTION PLAN</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has a 401(k)-retirement savings plan (the
&#8220;401(k) Plan&#8221;) covering all eligible employees. The 401(k) Plan allows employees to defer a portion of their annual compensation,
and the Company may match a portion of the employees&#8217; contributions generally after the first six months of service. During the
year ended December 31, 2023, the Company matched 100% of the first 4% of eligible employee compensation that was contributed to the 401(k)
Plan. For the year ended December 31, 2023, the Company recognized expense for matching cash contributions to the 401(k) Plan totaling
$<span id="xdx_900_eus-gaap--DefinedBenefitPlanServiceCost_pp0p0_c20230101__20231231_zE0JXynrA5ok" title="Cash contributions"><ix:nonFraction name="us-gaap:DefinedBenefitPlanServiceCost" contextRef="From2023-01-01to2023-12-31" id="Fact002128" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">216,332</ix:nonFraction></span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;&#160;</b></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact002130" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock"><p id="xdx_80B_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_z5ttNb4WFlL7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 15 &#8211; <span id="xdx_821_zCqxUkgGTY1g">RELATED PARTY TRANSACTIONS</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There were no related party transactions for the periods reflected
in this report.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact002132" name="duot:SaleOfAssetsTextBlock"><p id="xdx_802_ecustom--SaleOfAssetsTextBlock_zIlJofpMBlE6" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 16 &#8211;<span id="xdx_820_zYf1bbu5cf3f"> SALE OF ASSETS</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On June 29, 2023, the Company completed a transaction
whereby it sold assets related to its Integrated Correctional Automation System (iCAS) business with a single customer. In the fourth
quarter of 2022, the Company elected to not renew a support contract due to the limited nature of the business. The transaction was completed
with a third-party buyer of which the Company&#8217;s former Chief Financial Officer is a director. Said former officer did not participate
in the transaction on behalf of the Company.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The assets of the iCAS business were sold for a convertible
promissory note with a principal amount of $<span id="xdx_902_ecustom--PrincipalAmount_pp0p0_c20230101__20231231_zBqGUGu7xKJ" title="Principal amount"><ix:nonFraction name="duot:PrincipalAmount" contextRef="From2023-01-01to2023-12-31" id="Fact002134" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">165,000</ix:nonFraction></span> with a <span id="xdx_908_ecustom--OriginalIssueDiscount_dp_c20230101__20231231_ziWQXXycKUYd" title="Original issue discount"><ix:nonFraction name="duot:OriginalIssueDiscount" contextRef="From2023-01-01to2023-12-31" id="Fact002136" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">10</ix:nonFraction></span>% original issue discount as well as common stock purchase warrants. The
note matures in 2 years from the date of sale and is convertible immediately through the later of the maturity date or payment by the
borrower of the default amount, as defined in the note, into shares of the buyer&#8217;s common stock at a conversion price of $<span id="xdx_904_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20231231_zkDHJfK13ud5" title="Conversion price"><ix:nonFraction name="us-gaap:DebtInstrumentConvertibleConversionPrice1" contextRef="AsOf2023-12-31" id="Fact002138" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.003</ix:nonFraction></span>
or <span id="xdx_90E_eus-gaap--CommonStockDividendsShares_c20230101__20231231_zefD6ZZq1yv8" title="Common stock shares"><ix:nonFraction name="us-gaap:CommonStockDividendsShares" contextRef="From2023-01-01to2023-12-31" id="Fact002140" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">55,000,000</ix:nonFraction></span> shares. The conversion of the note carries restrictions which include limiting conversion to the extent it would exceed
4.99% of the common stock outstanding of the buyer. The convertible promissory note is subject to standard anti-dilution provisions.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The common stock purchase warrants are for a total
of <span id="xdx_90B_ecustom--PurchaseOfCommonStockWarrants_c20230101__20231231_zGdocj3J9eU6" title="Purchase of common stock warrants"><ix:nonFraction name="duot:PurchaseOfCommonStockWarrants" contextRef="From2023-01-01to2023-12-31" id="Fact002142" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">55,000,000</ix:nonFraction></span> common shares of the buyer at an exercise price of $<span id="xdx_904_eus-gaap--WarrantExercisePriceIncrease_c20230101__20231231_zu111FVXO6i9" title="Exercise price"><ix:nonFraction name="us-gaap:WarrantExercisePriceIncrease" contextRef="From2023-01-01to2023-12-31" id="Fact002144" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.01</ix:nonFraction></span> per share. The warrants are subject to standard anti-dilution provisions.
The warrants are not exercisable until on or after six months from the issuance date and no later than on or before the third anniversary
of the issuance date. The Company may exercise the warrants at any time after the six-month anniversary of the issuance date on a cashless
basis if there is no effective registration statement covering the resale of the Warrant Shares at prevailing market prices by the holder.
The exercise of these warrants is subject to beneficial ownership limits of 4.99% which may be increased by the holder up to 9.99% as
defined in the warrant . Given that the shares carried no intrinsic value at the time of the transaction and that the overall fair value
is de minimis, the Company has not recorded the warrants associated with the transaction.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company recognized a gain on sale of assets of
$<span id="xdx_904_eus-gaap--GainLossOnSalesOfAssetsAndAssetImpairmentCharges_pp0p0_c20230101__20231231_zDR98WJDMok8" title="Sale of asset"><ix:nonFraction name="us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges" contextRef="From2023-01-01to2023-12-31" id="Fact002146" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">150,000</ix:nonFraction></span>, which is included in other income.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The original issue discount is being accrued into
interest income over the term of the note.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_233_zLLWnnofBPt" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_23C_zCxFfyJKMzq3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:exclude><!-- Field: Page; Sequence: 85 -->
    <div id="xdx_23A_zwwFlCFsJJpk" style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="font-size: 9pt; width: 100%"><tr><td id="xdx_23C_zuZUiRqYtyaa" style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->34<!-- Field: /Sequence -->&#160;</td></tr></table></div>
    <div id="xdx_239_z93jTzRCmBRe" style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" id="xdx_23C_z24aGPQynel5" style="width: 100%"><tr><td style="text-align: center; width: 100%"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DUOS TECHNOLOGIES GROUP, INC. AND SUBSIDIARIES</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p id="xdx_230_z3dHgjOqQl7a" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>DECEMBER 31, 2023 AND 2022</b></p>&#160;</td></tr></table></div>
    <!-- Field: /Page --></ix:exclude>

<ix:exclude><p id="xdx_23E_zvKPzVcPzKSf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<ix:exclude><p id="xdx_239_zjFaCnvKo7wj" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p></ix:exclude>



<ix:exclude><p id="xdx_238_zFwcrEJJmAme" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></ix:exclude>

<ix:exclude><p id="xdx_237_zsdHKjf5SLq4" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The note receivable was recorded as follows on September
30, 2023:</p>

<ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact002154" name="duot:ScheduleOfNoteReceivableTableTextBlock"><table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--ScheduleOfNoteReceivableTableTextBlock_zAJcwLsMQZsh" summary="xdx: Disclosure - SALE OF ASSETS (Details)" style="font: 11pt Aptos; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td id="xdx_8BB_zKS748qY8aY5" style="display: none">Schedule of note receivable</td><td>&#160;</td>
    <td colspan="2" id="xdx_49C_20231231_zn1A6yCmHzpa" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>December 31,</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2023</b></p></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_z7TIb7JSRz3d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: justify">Convertible note receivable</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"><ix:nonFraction name="duot:ConvertibleNoteReceivable" contextRef="AsOf2023-12-31" id="Fact002156" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">165,000</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zcMkXkrSJENc" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt">Unamortized discount</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(<ix:nonFraction name="us-gaap:DebtInstrumentUnamortizedDiscount" contextRef="AsOf2023-12-31" id="Fact002158" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,250</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zRaNDSi1BTli" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt">Convertible note receivable, net</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="duot:ConvertibleNoteReceivableNet" contextRef="AsOf2023-12-31" id="Fact002160" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">153,750</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<ix:exclude><p id="xdx_237_zF7Jf7rocrc6" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p></ix:exclude>

</ix:nonNumeric><ix:nonNumeric contextRef="From2023-01-01to2023-12-31" escape="true" id="Fact002163" name="us-gaap:SubsequentEventsTextBlock"><p id="xdx_808_eus-gaap--SubsequentEventsTextBlock_zIZ74r3JGzXj" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 17 &#8211; <span id="xdx_827_zJD2aSveO7bf">SUBSEQUENT EVENTS</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"></span></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">On March 22, 2024, the Company conducted
a private placement offering, selling a combined total of <span id="xdx_902_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20240321__20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z29StPMWTpXa"><ix:nonFraction name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" contextRef="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesDConvertiblePreferredStockMember_us-gaap_SubsequentEventMember" id="Fact002164" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">620</ix:nonFraction>
</span>Series D Convertible Preferred Stock and <span id="xdx_906_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20240321__20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zKNxBER4b5G"><ix:nonFraction name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" contextRef="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesEConvertiblePreferredStockMember_us-gaap_SubsequentEventMember" id="Fact002165" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,125</ix:nonFraction>
</span>Series E Convertible Preferred Stock to both existing and new accredited investors. The offering price for both Series D and Series
E was at $<span id="xdx_90E_eus-gaap--SaleOfStockPricePerShare_iI_pip0_c20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z8xsVdIJ9eSb"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesEConvertiblePreferredStockMember_us-gaap_SubsequentEventMember" id="Fact002166" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="USDPShares">1,000</ix:nonFraction>
</span>per share with a common equivalent of $<span id="xdx_904_eus-gaap--SaleOfStockPricePerShare_iI_pip0_c20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zTRLqF5Mpaq2"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember" id="Fact002167" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="USDPShares">3.00</ix:nonFraction>
</span>for both classes of shares. The private placement brought in gross proceeds of $<span id="xdx_90F_eus-gaap--SaleOfStockConsiderationReceivedOnTransaction_c20240321__20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z2C5c37QMH75"><ix:nonFraction name="us-gaap:SaleOfStockConsiderationReceivedOnTransaction" contextRef="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_us-gaap_SubsequentEventMember" id="Fact002168" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,745,000</ix:nonFraction>
</span>to the Company. The Series D Convertible Preferred Stock has already been approved for common stock conversion during the Company's
2023 annual shareholders meeting. The Series E Preferred Stock is subject to shareholder approval for conversion to common stock. As
such, the securities purchase agreement for Series E Convertible Preferred Stock carries standard anti-dilution provisions which remain
in effect until December 31, 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with the Purchase Agreement, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company shall
file with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of
Series D and Series E Preferred Stock are convertible. Subject to certain conditions, the Company must cause the registration statement
to be declared effective by 90 days after closing (or in the event of a full review by the SEC, by 120 days). The Registration Rights
Agreement contains customary representations, warranties, agreements and indemnification rights and obligations of the parties. Under
the Purchase Agreement, the Company is required to hold a meeting of shareholders at the earliest practical date, but in no event later
than 120 days after closing (or 150 days in the event of a review of the proxy statement by the Securities and Exchange Commission (the
&#8220;SEC&#8221;)). As described below, the terms of the Series E Preferred Stock limit its convertibility until the Company receives
shareholder approval (the &#8220;Stockholder Approval&#8221;). If the Company does not obtain the Stockholder Approval at the first meeting,
it is required to hold shareholder meetings every four months until the Stockholder Approval is obtained.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Purchase Agreement for Series E Preferred Stock
also provides that the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in
the Purchase Agreement) on or prior to December 31, 2024 that entitles any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Preferred Stock without the consent of the Purchaser.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Registration Rights Agreement contains provisions
for liquidated damages equal to 1% multiplied by the aggregate subscription amount paid, paid each month, in the event certain deadlines
are missed.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

</ix:nonNumeric><p id="xdx_817_zkVTZeaI4djb" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: center">F-35</p>


<!-- Field: Page; Sequence: 87; Options: NewSection -->
    <div style="border-bottom: Black 1pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><table cellpadding="0" cellspacing="0" style="width: 100%"><tr><td style="text-align: center; width: 100%">&#160;</td></tr></table></div>
    <!-- Field: /Page -->




<p style="margin: 0">&#160;</p>

<p style="margin: 0">&#160;</p>

<p style="margin: 0">&#160;</p>

<p style="margin: 0">&#160;</p>

<p style="margin: 0">&#160;</p>

<p style="margin: 0">&#160;</p>

<p style="margin: 0">&#160;</p>

<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!--   -->
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>2
<FILENAME>ex23x1.htm
<DESCRIPTION>EXHIBIT 23.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="text-align: right; margin-top: 0; margin-bottom: 0">Exhibit 23.1</P>

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">Consent of Independent Registered Public Accounting
Firm</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We hereby consent to the incorporation by reference
in the Registration Statements on Forms S-1 (SEC File # 333-268638, 333-273272 and 333-276327) and Forms S-8 (SEC File # 333-258525, 333-257897
and 333-273265) of Duos Technologies Group, Inc. of our report dated April 1, 2024 on the consolidated financial statements of Duos Technologies
Group, Inc., as of December 31, 2023 and 2022 and for the each of the two years in the period ended December 31, 2023.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">/s/ Salberg &amp; Company, P.A.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">SALBERG &amp; COMPANY, P.A.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Boca Raton, Florida</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">April 1, 2024</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>3
<FILENAME>ex31x1.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>Exhibit 31.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>PURSUANT TO SECTION 302 OF THE</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>SARBANES-OXLEY ACT OF 2002</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">I, Charles P. Ferry, certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">1.&nbsp;&nbsp;&nbsp;&nbsp;I have
reviewed this annual report on Form 10-K of Duos Technologies Group, Inc.;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">2.&nbsp;&nbsp;&nbsp;&nbsp;Based
on my knowledge, this annual report does not contain any untrue statement of a material fact or omit to state a material fact necessary
to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period
covered by this annual report;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">3.&nbsp;&nbsp;&nbsp;&nbsp;Based
on my knowledge, the financial statements, and other financial information included in this annual report, fairly present in all material
respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this
annual report;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">4.&nbsp;&nbsp;&nbsp;&nbsp;The registrant&rsquo;s
other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange
Act Rules 13a-15(e) and 15d-15(e)) and internal controls over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f))
for the registrant and have:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%">
  <TR>
    <TD STYLE="width: 7%; font: 11pt Calibri, Helvetica, Sans-Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; font: 11pt Calibri, Helvetica, Sans-Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; font: 11pt Calibri, Helvetica, Sans-Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly for the period in which this annual report is being prepared;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">evaluated the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">disclosed in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">5.&nbsp;&nbsp;&nbsp;&nbsp;The registrant&rsquo;s
other certifying officer and I have disclosed, based on our most recent evaluation, to the registrant&rsquo;s auditors and the audit committee
of the registrant&rsquo;s board of directors (or persons performing the equivalent function):</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">all significant deficiencies in the design or operation of internal controls which could adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial data and have identified for the registrant&rsquo;s auditors any material weaknesses in internal controls; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s internal controls over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 51%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: April 1, 2024</FONT></TD>
    <TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 3%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="width: 44%; border-bottom: black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ <I>Charles P. Ferry</I></FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Charles P. Ferry</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Executive Officer</P></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>&nbsp;</B></P>



<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>4
<FILENAME>ex31x2.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>Exhibit 31.2</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>PURSUANT TO SECTION 302 OF THE</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>SARBANES-OXLEY ACT OF 2002</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">I, Andrew W. Murphy, certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">1.&nbsp;&nbsp;&nbsp;&nbsp;I have
reviewed this annual report on Form 10-K of Duos Technologies Group, Inc.;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">2.&nbsp;&nbsp;&nbsp;&nbsp;Based
on my knowledge, this annual report does not contain any untrue statement of a material fact or omit to state a material fact necessary
to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period
covered by this annual report;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">3.&nbsp;&nbsp;&nbsp;&nbsp;Based
on my knowledge, the financial statements, and other financial information included in this annual report, fairly present in all material
respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this
annual report;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">4.&nbsp;&nbsp;&nbsp;&nbsp;The registrant&rsquo;s
other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange
Act Rules 13a-15(e) and 15d-15(e)) and internal controls over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f))
for the registrant and have:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%">
  <TR>
    <TD STYLE="width: 7%; font: 11pt Calibri, Helvetica, Sans-Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; font: 11pt Calibri, Helvetica, Sans-Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; font: 11pt Calibri, Helvetica, Sans-Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly for the period in which this annual report is being prepared;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">evaluated the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">disclosed in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 2pc">5.&nbsp;&nbsp;&nbsp;&nbsp;The registrant&rsquo;s
other certifying officer and I have disclosed, based on our most recent evaluation, to the registrant&rsquo;s auditors and the audit committee
of registrant&rsquo;s board of directors (or persons performing the equivalent function):</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">all significant deficiencies in the design or operation of internal controls which could adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial data and have identified for the registrant&rsquo;s auditors any material weaknesses in internal controls; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR>
    <TD STYLE="width: 7%; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 3%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="vertical-align: top; width: 90%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s internal controls over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; margin: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 51%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: April 1, 2024</FONT></TD>
    <TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 3%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="width: 44%; border-bottom: black 1pt solid; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/&nbsp;<I>Andrew W. Murphy</I></FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Andrew W. Murphy</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Chief Financial Officer</P></TD></TR>
  </TABLE>
<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>



<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>5
<FILENAME>ex32x1.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>EXHIBIT 32.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>CERTIFICATION PURSUANT TO</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>18 U.S.C. SECTION 1350,</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>AS ADOPTED PURSUANT TO SECTION 906 OF</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>THE SARBANES-OXLEY ACT OF 2002</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with this Annual Report of Duos Technologies
Group, Inc. (the &ldquo;Company&rdquo;), on Form 10-K for the year ended December 31, 2023, as filed with the U.S. Securities and Exchange
Commission on the date hereof, I, Charles P. Ferry, Chief Executive Officer of the Company, certify to the best of my knowledge, pursuant
to 18 U.S.C. Sec. 1350, as adopted pursuant to Sec. 906 of the Sarbanes-Oxley Act of 2002, that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 3pc">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 3%; font: 11pt Calibri, Helvetica, Sans-Serif">&nbsp;</TD>
    <TD STYLE="width: 3%; font: 11pt Calibri, Helvetica, Sans-Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</FONT></TD>
    <TD STYLE="width: 94%; font: 11pt Calibri, Helvetica, Sans-Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Such Annual Report on Form 10-K for the year ended December 31, 2023, fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 3pc">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 3%">&nbsp;</TD>
    <TD STYLE="width: 3%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</FONT></TD>
    <TD STYLE="width: 94%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The information contained in such Annual Report on Form 10-K for the year ended December 31, 2023, fairly presents, in all material respects, the financial condition and results of operations of the Company.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 3pc">&nbsp;&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 3pc">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 52%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: April 1, 2024</FONT></TD>
    <TD STYLE="width: 2%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="width: 35%; border-bottom: black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/&nbsp;Charles P. Ferry</I></FONT></TD>
    <TD STYLE="width: 11%">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Charles P. Ferry</FONT></TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Executive Officer</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P></TD>
    <TD>&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 11pt/107% Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt">&nbsp;</P>



<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>6
<FILENAME>ex32x2.htm
<DESCRIPTION>EXHIBIT 32.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>EXHIBIT 32.2</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>CERTIFICATION PURSUANT TO</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>18 U.S.C. SECTION 1350,</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>AS ADOPTED PURSUANT TO SECTION 906 OF</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><B>THE SARBANES-OXLEY ACT OF 2002</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with this Annual Report of Duos Technologies
Group, Inc. (the &ldquo;Company&rdquo;), on Form 10-K for the year ended December 31, 2023, as filed with the U.S. Securities and Exchange
Commission on the date hereof, I, Andrew W. Murphy, Chief Financial Officer of the Company, certify to the best of my knowledge, pursuant
to 18 U.S.C. Sec. 1350, as adopted pursuant to Sec. 906 of the Sarbanes-Oxley Act of 2002, that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 3pc">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 3%; font: 11pt Calibri, Helvetica, Sans-Serif">&nbsp;</TD>
    <TD STYLE="width: 3%; font: 11pt Calibri, Helvetica, Sans-Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</FONT></TD>
    <TD STYLE="width: 94%; font: 11pt Calibri, Helvetica, Sans-Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Such Annual Report on Form 10-K for the year ended December 31, 2023, fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 3pc">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 3%">&nbsp;</TD>
    <TD STYLE="width: 3%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</FONT></TD>
    <TD STYLE="width: 94%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The information contained in such Annual Report on Form 10-K for the year ended December 31, 2023, fairly presents, in all material respects, the financial condition and results of operations of the Company.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 3pc">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 3pc">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 11pt Calibri, Helvetica, Sans-Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 52%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: April 1, 2024</FONT></TD>
    <TD STYLE="width: 2%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="width: 35%; border-bottom: black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/&nbsp;Andrew W. Murphy</I></FONT></TD>
    <TD STYLE="width: 11%">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Andrew W. Murphy</FONT></TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Financial Officer</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P></TD>
    <TD>&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 11pt/107% Calibri, Helvetica, Sans-Serif; margin: 0 0 8pt">&nbsp;</P>



<P STYLE="margin: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97
<SEQUENCE>7
<FILENAME>ex97.htm
<DESCRIPTION>EXHIBIT 97
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="text-align: right; margin: 0">Exhibit 97</P>

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center"><B>_____________________________________________</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center"><B>DUOS TECHNOLOGIES GROUP, INC.</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center"><B>POLICY FOR THE</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center"><B>RECOVERY OF ERRONEOUSLY AWARDED COMPENSATION</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center"><B>______________________________________________</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"><FONT STYLE="text-transform: none">A.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>OVERVIEW</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">In accordance with the
applicable rules of The Nasdaq Stock Market (the <I>&ldquo;<B>Nasdaq Rules</B>&rdquo;), </I>and Section 10D and Rule 10D-1 of the Securities
Exchange Act of 1934, as amended (the <I>&ldquo;<B>Exchange Act</B>&rdquo;) (&ldquo;<B>Rule 10D-1</B>&rdquo;), </I>the Board of Directors
(the <I>&ldquo;<B>Board</B>&rdquo;) </I>of Duos Technologies Group, Inc. (the <I>&ldquo;<B>Company</B>&rdquo;) </I>has adopted this Policy
(the <I>&ldquo;<B>Policy</B>&rdquo;) </I>to provide for the recovery of erroneously awarded Incentive-based Compensation from Executive
Officers. All capitalized terms used and not otherwise defined herein shall have the meanings set forth in Section H, below.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"><FONT STYLE="text-transform: none">B.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>RECOVERY OF ERRONEOUSLY AWARDED COMPENSATION</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(1)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>In the event of an Accounting Restatement, the Company will reasonably promptly recover the Erroneously Awarded Compensation Received
in accordance with the Nasdaq Rules and Rule 10D-1 as follows:</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(i)</TD><TD STYLE="text-align: justify">After an Accounting Restatement, the Compensation Committee (if composed entirely of independent directors,
or in the absence of such a committee, a majority of independent directors serving on the Board) (the <I>&ldquo;<B>Committee</B>&rdquo;)
</I>shall determine the amount of any Erroneously Awarded Compensation Received by each Executive Officer and shall promptly notify each
Executive Officer with a written notice containing the amount of any Erroneously Awarded Compensation and a demand for repayment or return
of such compensation, as applicable.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1.5in"></TD><TD STYLE="width: 0.5in">a.</TD><TD STYLE="text-align: justify">For Incentive-based Compensation based on (or derived from) the Company&rsquo;s stock price or total shareholder
return, where the amount of Erroneously Awarded Compensation is not subject to mathematical recalculation directly from the information
in the applicable Accounting Restatement:</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 2in"></TD><TD STYLE="width: 0.5in">i.</TD><TD STYLE="text-align: justify">The amount to be repaid or returned shall be determined by the Committee based on a reasonable estimate
of the effect of the Accounting Restatement on the Company&rsquo;s stock price or total shareholder return upon which the Incentive-based
Compensation was Received; and</TD></TR></TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0"></P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font-size: 10pt; width: 100%"><TR><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence -->&#160;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&#160;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 2in"></TD><TD STYLE="width: 0.5in">ii.</TD><TD STYLE="text-align: justify">The Company shall maintain documentation of the determination of such reasonable estimate and provide
the relevant documentation as required to Nasdaq.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(ii)</TD><TD STYLE="text-align: justify">The Committee shall have discretion to determine the appropriate means of recovering Erroneously Awarded
Compensation based on the particular facts and circumstances. Notwithstanding the foregoing, except as set forth in Section B(2) below,
in no event may the Company accept an amount that is less than the amount of Erroneously Awarded Compensation in satisfaction of an Executive
Officer&rsquo;s obligations hereunder.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(iii)</TD><TD STYLE="text-align: justify">To the extent that the Executive Officer has already reimbursed the Company for any Erroneously Awarded
Compensation Received under any duplicative recovery obligations established by the Company or applicable law, it shall be appropriate
for any such reimbursed amount to be credited to the amount of Erroneously Awarded Compensation that is subject to recovery under this
Policy.</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(iv)</TD><TD STYLE="text-align: justify">To the extent that an Executive Officer fails to repay all Erroneously Awarded Compensation to the Company
when due, the Company shall take all actions reasonable and appropriate to recover such Erroneously Awarded Compensation from the applicable
Executive Officer. The applicable Executive Officer shall be required to reimburse the Company for any and all expenses reasonably incurred
(including legal fees) by the Company in recovering such Erroneously Awarded Compensation in accordance with the immediately preceding
sentence.</TD></TR></TABLE>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(2)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>Notwithstanding anything herein to the contrary, the Company shall not be required to take the actions contemplated by Section
B(1) above if the Committee (which, as specified above, is composed entirely of independent directors or in the absence of such a committee,
a majority of the independent directors serving on the Board) determines that recovery would be impracticable <I>and </I>any of the following
two conditions are met:</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(i)</TD><TD STYLE="text-align: justify">The Committee has determined that the direct expenses paid to a third party to assist in enforcing the
Policy would exceed the amount to be recovered. Before making this determination, the Company must make a reasonable attempt to recover
the Erroneously Awarded Compensation, documented such attempt(s) and provided such documentation to Nasdaq; or</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(ii)</TD><TD STYLE="text-align: justify">Recovery would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly
available to employees of the Company, to fail to meet the requirements of Section 401(a)(13) or Section 411(a) of the Internal Revenue
Code of 1986, as amended, and regulations thereunder.</TD></TR></TABLE>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"></P>

<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font-size: 10pt; width: 100%"><TR><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence -->&#160;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&#160;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"><FONT STYLE="text-transform: none">C.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>DISCLOSURE REQUIREMENTS</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">The Company shall file
all disclosures with respect to this Policy required by applicable U.S. Securities and Exchange Commission <B><I>(&ldquo;SEC&rdquo;) </I></B>filings
and rules.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"><FONT STYLE="text-transform: none">D.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>PROHIBITION OF INDEMNIFICATION</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">The Company shall not be
permitted to insure or indemnify any Executive Officer against (i) the loss of any Erroneously Awarded Compensation that is repaid, returned
or recovered pursuant to the terms of this Policy, or (ii) any claims relating to the Company&rsquo;s enforcement of its rights under
this Policy. Further, the Company shall not enter into any agreement that exempts any Incentive-based Compensation that is granted, paid
or awarded to an Executive Officer from the application of this Policy or that waives the Company&rsquo;s right to recovery of any Erroneously
Awarded Compensation, and this Policy shall supersede any such agreement (whether entered into before, on or after the Effective Date
of this Policy).</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"><FONT STYLE="text-transform: none">E.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>ADMINISTRATION AND INTERPRETATION</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">This Policy shall be administered
by the Committee, and any determinations made by the Committee shall be final and binding on all affected individuals.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">The Committee is authorized
to interpret and construe this Policy and to make all determinations necessary, appropriate, or advisable for the administration of this
Policy and for the Company&rsquo;s compliance with Nasdaq Rules, Section 10D, Rule 10D-1 and any other applicable law, regulation, rule
or interpretation of the SEC or Nasdaq promulgated or issued in connection therewith.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"><FONT STYLE="text-transform: none">F.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>AMENDMENT; TERMINATION</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">The Committee may amend
this Policy from time to time in its discretion and shall amend this Policy as it deems necessary. Notwithstanding anything in this Section
F to the contrary, no amendment or termination of this Policy shall be effective if such amendment or termination would (after taking
into account any actions taken by the Company contemporaneously with such amendment or termination) cause the Company to violate any federal
securities laws, SEC rule or Nasdaq rule.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"><FONT STYLE="text-transform: none">G.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>OTHER RECOVERY RIGHTS</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">This Policy shall be binding
and enforceable against all Executive Officers and, to the extent required by applicable law or guidance from the SEC or Nasdaq, their
beneficiaries, heirs, executors, administrators or other legal representatives. The Committee intends that this Policy will be applied
to the fullest extent required by applicable law. Any employment agreement, equity award agreement, compensatory plan or any other agreement
or arrangement with an Executive Officer shall be deemed to include, as a condition to the grant of any benefit thereunder, an agreement
by the Executive Officer to abide by the terms of this Policy. Any right of recovery under this Policy is in addition to, and not in lieu
of, any other remedies or rights of recovery that may be available to the Company under applicable law, regulation or rule or pursuant
to the terms of any policy of the Company or any provision in any employment agreement, equity award agreement, compensatory plan, agreement
or other arrangement.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"></P>

<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font-size: 10pt; width: 100%"><TR><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence -->&#160;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&#160;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-transform: uppercase; text-align: justify; text-indent: 0in"><FONT STYLE="text-transform: none">H.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>DEFINITIONS</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">For purposes of this Policy,
the following capitalized terms shall have the meanings set forth below.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(1)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><I>&ldquo;<B>Accounting Restatement</B>&rdquo; </I>means an accounting restatement due to the material noncompliance of the Company
with any financial reporting requirement under the securities laws, including any required accounting restatement to correct an error
in previously issued financial statements that is material to the previously issued financial statements (a &ldquo;<B><I>Big R</I></B>&rdquo;
restatement), or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in
the current period (a &ldquo;<B><I>little r</I></B>&rdquo; restatement).</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(2)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><I>&ldquo;<B>Clawback Eligible Incentive Compensation</B>&rdquo; </I>means all Incentive-based Compensation Received by an Executive
Officer (i) on or after the effective date of the applicable Nasdaq rules, (ii) after beginning service as an Executive Officer, (iii)
who served as an Executive Officer at any time during the applicable performance period relating to any Incentive-based Compensation (whether
or not such Executive Officer is serving at the time the Erroneously Awarded Compensation is required to be repaid to the Company), (iv)
while the Company has a class of securities listed on a national securities exchange or a national securities association, and (v) during
the applicable Clawback Period (as defined below).</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(3)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><I>&ldquo;<B>Clawback Period</B>&rdquo; </I>means, with respect to any Accounting Restatement, the three completed fiscal years
of the Company immediately preceding the Restatement Date (as defined below), and if the Company changes its fiscal year, any transition
period of less than nine months within or immediately following those three completed fiscal years.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(4)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><I>&ldquo;<B>Erroneously Awarded Compensation</B>&rdquo;</I> means, with respect to each Executive Officer in connection with an
Accounting Restatement, the amount of Clawback Eligible Incentive Compensation that exceeds the amount of Incentive-based Compensation
that otherwise would have been Received had it been determined based on the restated amounts, computed without regard to any taxes paid.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(5)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><B><I>&ldquo;Executive Officer&rdquo; </I></B>means each individual who is currently or was previously designated as an &ldquo;officer&rdquo;
of the Company as defined in Rule 16a-1(f) under the Exchange Act. For the avoidance of doubt, the identification of an executive officer
for purposes of this Policy shall include each executive officer who is or was identified pursuant to Item 401(b) of Regulation S-K, as
well as the principal financial officer and principal accounting officer (or, if there is no principal accounting officer, the controller).</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(6)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><B><I>&ldquo;Financial Reporting Measures&rdquo; </I></B>means measures that are determined and presented in accordance with the
accounting principles used in preparing the Company&rsquo;s financial statements, and all other measures that are derived wholly or in
part from such measures. Stock price and total shareholder return (and any measures that are derived wholly or in part from stock price
or total shareholder return) shall, for purposes of this Policy, be considered Financial Reporting Measures. For the avoidance of doubt,
a Financial Reporting Measure need not be presented in the Company&rsquo;s financial statements or included in a filing with the SEC.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in"></P>

<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font-size: 10pt; width: 100%"><TR><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence -->&#160;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&#160;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(7)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><B><I>&ldquo;Incentive-based Compensation&rdquo; </I></B>means any compensation that is granted, earned or vested based wholly
or in part upon the attainment of a Financial Reporting Measure.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(8)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><B><I>&ldquo;Nasdaq&rdquo; </I></B>means The Nasdaq Stock Market.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(9)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><B><I>&ldquo;Received&rdquo; </I></B>means, with respect to any Incentive-based Compensation, actual or deemed receipt, and Incentive-based
Compensation shall be deemed received in the Company&rsquo;s fiscal period during which the Financial Reporting Measure specified in the
Incentive-based Compensation award is attained, even if the payment or grant of the Incentive-based Compensation to the Executive Officer
occurs after the end of that period.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify; text-indent: 0.5in">(10)<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><B><I>&ldquo;Restatement Date&rdquo; </I></B>means the earlier to occur of (i) the date the Board, a committee of the Board or
the officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded,
that the Company is required to prepare an Accounting Restatement, or (ii) the date a court, regulator or other legally authorized body
directs the Company to prepare an Accounting Restatement.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">Effective as of December 1, 2023.</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>


<!-- Field: Page; Sequence: 5 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font-size: 10pt; width: 100%"><TR><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence -->&#160;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%"><TR><TD STYLE="text-align: center; width: 100%">&#160;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 14pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center"><B>Exhibit A</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center"><B>ATTESTATION AND ACKNOWLEDGEMENT OF POLICY
FOR THE RECOVERY OF ERRONEOUSLY<BR>
AWARDED COMPENSATION</B></P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">By my signature below, I acknowledge and agree
that:</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in"><FONT STYLE="font-family: Symbol">&#183;</FONT></TD><TD STYLE="text-align: justify">I have received and read the attached Policy for the Recovery of Erroneously Awarded Compensation (this
<B><I>&ldquo;Policy&rdquo;).</I></B></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 12pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in"><FONT STYLE="font-family: Symbol">&#183;</FONT></TD><TD STYLE="text-align: justify">I hereby agree to abide by all of the terms of this Policy both during and after my employment with the
Company, including, without limitation, by promptly repaying or returning any Erroneously Awarded Compensation to the Company as determined
in accordance with this Policy.</TD></TR></TABLE>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 0 3in">Signature: _________________________________&#9;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 0 3in">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 0 3in">Printed Name: _____________________________&#9;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 0 3in">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0 0 0 3in">Date: _____________________________________&#9;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 12pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>8
<FILENAME>image_002.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 image_002.jpg
M_]C_X  02D9)1@ ! 0$ > !X  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1" !# BX# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
M'A&A3Q%)64E9KL_^"MB,+B)RK5*%1W:V?=?\ ZV[NHK&UFN9Y%A@A1I))'.
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
MAKWQK^(^B_#7PMJ=KI<>A>3XEUJ]NK;[1"&5_P#1+=H\C=N8-(5)Z(#Z5O?
MW3_BWX!^%.IM\0IE\:^)TNI9;*RL9$65HRYPC3.0N"3N'3:N!SBLG]E[2?B'
MH.M^-9_B#X-.F:MXBU6356UB"_@GB\O:B0VQ"MN'EJ" <8Z]*QI06'E.K&2;
MCMJM7W2>]E^)O4G[=0IN+2EOH]%VNMK_ )%;XA? SXP_$CP3K/AG6?B7H%UI
MNIV[02Q_\(X$)SR"&$AVD$ @CIC-9O[ ?CR]U#X::I\/]>)C\2>!+^329XG/
MS>2&/E'Z##+]%%?4)KXXM/!7Q5\&_M;>(?B3X<^'4I\)ZU MEJ5BVJ6J37)4
M "Y1=^ <J&P3DY;/)XVHU?K5"I0J.*MJMHZ]NFZ,:M+ZM6A6A=]'N]/QV9]C
MTM>(?'K0_B]XPL?!=Q\--7MO"[QZA%/JMKJ"J9!'_ME25=%YW1C[V1@\5[7;
MB1;>(3,KS!1O91@%L<D#L,UY<J:C",N9.]].J]3TXU'*3CRM6Z]'Z'YM?&C]
MMKXW^"_BYXOT'1(+9]'TW4IK:T+Z*TA\M6PN6_B^M<9_P\"_:#_Y];/_ ,$+
M?XUZ3\8/^"C'C/X<_%3Q7X8L_"?AV[M=)U&6SBGG$WF.J' +8;&?I7(?\/3/
M'G_0E^&/RG_^+K[RCA9NE%_4XO1:W6OX'Q-7$P522^MR6O;_ ()X!\>/CGX[
M^..I:5>>.8XH[C3X7BMA%9&U&UF!;@]>0*\MKU[]HK]I36_VDM4T:_UK1]-T
MF32X)((TTW?M<,P8EMQ//':JOQ8^"J_#OX=_#7Q=9W\NHV'B[37N9&>,*L%P
MC8>)2.HP1UYX-?14)*C3ITYQ4&[I);=7_P $^>KQ=:<ZD).:6[>_1'">%?&>
MO^!=474O#NLWVAWR])["X:)C]<'G\:^EOA[_ ,%)_BOX1\N'6_[.\7VJC!^W
M0^3.?^VD> ?Q4U\H45=?"8?$_P :"?\ 7<SHXJOAW>E-H_6WX(_\%"OA[\6=
M0M='U9)_!NN7#".*+4'5K:5ST59A@ GT8#\:\(_X*1?LTZ5X9M[;XG^&K*.P
MCN;E;76;6%0L9D?_ %<X4="2-K8ZD@^M?!-?H]XJ\:7/C#_@F"FH^(IFGOS;
M16D4\S9:5H[H)&Q)ZG:OZ5\S5P*RO%4JV&;Y9246O4^DIXUYGAJM'$+6*YD_
M0XW_ ()1?\CQX^_[!UO_ .C&K])Z_-C_ ()1?\CQX^_[!UO_ .C&K])Z^>SW
M_?Y_+\D>_DG^XP^?YA7"ZU\55T75KJQ/A+Q7>^0^S[19:4TL,G .4;=R.:[J
MDKPHN*?O*Y[4DVO==CSG_A="_P#0D>-/_!*W_P 51_PNA?\ H2/&G_@E;_XJ
MO1J*TYZ?\GXF?)4_F_ \Y_X70O\ T)'C3_P2M_\ %4?\+H7_ *$CQI_X)6_^
M*KT:BCGI_P GXAR5/YOP/.?^%T+_ -"1XT_\$K?_ !5'_"Z%_P"A(\:?^"5O
M_BJ]&HHYZ?\ )^(<E3^;\#SG_A="_P#0D>-/_!*W_P 51_PNA?\ H2/&G_@E
M;_XJO1J*.>G_ "?B')4_F_ \Y_X70O\ T)'C3_P2M_\ %4?\+H7_ *$CQI_X
M)6_^*KT:BCGI_P GXAR5/YOP/.?^%T+_ -"1XT_\$K?_ !5'_"Z%_P"A(\:?
M^"5O_BJ]&HHYZ?\ )^(<E3^;\#SG_A="_P#0D>-/_!*W_P 51_PNA?\ H2/&
MG_@E;_XJO1J*.>G_ "?B')4_F_ \Y_X70O\ T)'C3_P2M_\ %4?\+H7_ *$C
MQI_X)6_^*KT:BCGI_P GXAR5/YOP/.?^%T+_ -"1XT_\$K?_ !5'_"Z%_P"A
M(\:?^"5O_BJ]&HHYZ?\ )^(<E3^;\#SG_A="_P#0D>-/_!*W_P 51_PNA?\
MH2/&G_@E;_XJO1J*.>G_ "?B')4_F_ \Y_X70O\ T)'C3_P2M_\ %4?\+H7_
M *$CQI_X)6_^*JA\2?B7XEL_B!I/@7P-I>FZAXCNK&35;NYUF:2.TL[57$:E
MA&"S,[D@ ?W233O"/QPM4\ W>M^/X8/!%YINH2Z5?QW4C>0TZ' :!F ,B."&
M4@9Z^AKH]E[JER;^>OW;G/[7WG%SV\M/O+O_  NA?^A(\:?^"5O_ (JC_A="
M_P#0D>-/_!*W_P 56Q??%SP7IFBZ?K%WXFTNVTK4(&N+2\DN5$4\:@%F1N^,
MCWYKSFU_:DT+Q?#XVM_"M]HTU_X>FMUBEU"_V6UU%(8PTNX#*@%R@ZY8 =Z(
MTG--JD[+S?>WYCE54-'45_\ @7.N_P"%T+_T)'C3_P $K?\ Q5'_  NA?^A(
M\:?^"5O_ (JN"OOVFSJ7Q"\=^'O#]SX9:V\+V,;^?J6HO&]Q<,1O'"[5CCR5
M8DYW$5ZMJGQ5\(^'_$NG^&]3\1:=9:_?!3!I\LX$DA;[H [9.<9Z]J)4G"R=
M/?7=^3_44*JG>U3;3]/T,;_A="_]"1XT_P#!*W_Q5'_"Z%_Z$CQI_P""5O\
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
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
#/__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>9
<FILENAME>duot-20231231.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 8KlZs7xRiXgen8uCandcSayNucPtxJFzuZkhv2pwfXnKfychK+Na7CSTWInWwcQC -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:duot="http://duostechnologies/20231231" elementFormDefault="qualified" targetNamespace="http://duostechnologies/20231231">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://duostechnologies/role/Cover" id="Cover">
          <link:definition>00000001 - Document - Cover</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets">
          <link:definition>00000002 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical">
          <link:definition>00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperations" id="ConsolidatedStatementsOfOperations">
          <link:definition>00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical" id="ConsolidatedStatementsOfOperationsParenthetical">
          <link:definition>00000005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity" id="ConsolidatedStatementsOfChangesInStockholdersEquity">
          <link:definition>00000006 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
          <link:definition>00000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" id="NatureOfOperationsAndSummaryOfSignificantAccountingPolicies">
          <link:definition>995513 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/Liquidity" id="Liquidity">
          <link:definition>995514 - Disclosure - LIQUIDITY</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/AccountsReceivable" id="AccountsReceivable">
          <link:definition>995515 - Disclosure - ACCOUNTS RECEIVABLE</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/PropertyAndEquipment" id="PropertyAndEquipment">
          <link:definition>995516 - Disclosure - PROPERTY AND EQUIPMENT</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/PatentsAndTrademarks" id="PatentsAndTrademarks">
          <link:definition>995517 - Disclosure - PATENTS AND TRADEMARKS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SoftwareDevelopmentCosts" id="SoftwareDevelopmentCosts">
          <link:definition>995518 - Disclosure - SOFTWARE DEVELOPMENT COSTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/Debt" id="Debt">
          <link:definition>995519 - Disclosure - DEBT</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/RevenuesAndContractAccounting" id="RevenuesAndContractAccounting">
          <link:definition>995520 - Disclosure - REVENUES AND CONTRACT ACCOUNTING</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/DeferredCompensation" id="DeferredCompensation">
          <link:definition>995521 - Disclosure - DEFERRED COMPENSATION</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
          <link:definition>995522 - Disclosure - COMMITMENTS AND CONTINGENCIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/IncomeTaxes" id="IncomeTaxes">
          <link:definition>995523 - Disclosure - INCOME TAXES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/StockholdersEquity" id="StockholdersEquity">
          <link:definition>995524 - Disclosure - STOCKHOLDERS&#8217; EQUITY</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrants" id="CommonStockOptionsAndWarrants">
          <link:definition>995525 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/DefinedContributionPlan" id="DefinedContributionPlan">
          <link:definition>995526 - Disclosure - DEFINED CONTRIBUTION PLAN</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/RelatedPartyTransactions" id="RelatedPartyTransactions">
          <link:definition>995527 - Disclosure - RELATED PARTY TRANSACTIONS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SaleOfAssets" id="SaleOfAssets">
          <link:definition>995528 - Disclosure - SALE OF ASSETS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SubsequentEvents" id="SubsequentEvents">
          <link:definition>995529 - Disclosure - SUBSEQUENT EVENTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" id="NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies">
          <link:definition>995530 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/AccountsReceivableTables" id="AccountsReceivableTables">
          <link:definition>995531 - Disclosure - ACCOUNTS RECEIVABLE (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/PropertyAndEquipmentTables" id="PropertyAndEquipmentTables">
          <link:definition>995532 - Disclosure - PROPERTY AND EQUIPMENT (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/PatentsAndTrademarksTables" id="PatentsAndTrademarksTables">
          <link:definition>995533 - Disclosure - PATENTS AND TRADEMARKS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SoftwareDevelopmentCostsTables" id="SoftwareDevelopmentCostsTables">
          <link:definition>995534 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/DebtTables" id="DebtTables">
          <link:definition>995535 - Disclosure - DEBT (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/RevenuesAndContractAccountingTables" id="RevenuesAndContractAccountingTables">
          <link:definition>995536 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommitmentsAndContingenciesTables" id="CommitmentsAndContingenciesTables">
          <link:definition>995537 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/IncomeTaxesTables" id="IncomeTaxesTables">
          <link:definition>995538 - Disclosure - INCOME TAXES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsTables" id="CommonStockOptionsAndWarrantsTables">
          <link:definition>995539 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SaleOfAssetsTables" id="SaleOfAssetsTables">
          <link:definition>995540 - Disclosure - SALE OF ASSETS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" id="NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative">
          <link:definition>995541 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/LiquidityDetailsNarrative" id="LiquidityDetailsNarrative">
          <link:definition>995542 - Disclosure - LIQUIDITY (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable" id="AccountsReceivableDetails-AccountsReceivable">
          <link:definition>995543 - Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" id="PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment">
          <link:definition>995544 - Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" id="PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware">
          <link:definition>995545 - Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative" id="PropertyAndEquipmentDetailsNarrative">
          <link:definition>995546 - Disclosure - PROPERTY AND EQUIPMENT (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks" id="PatentsAndTrademarksDetails-PatentsAndTrademarks">
          <link:definition>995547 - Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative" id="PatentsAndTrademarksDetailsNarrative">
          <link:definition>995548 - Disclosure - PATENTS AND TRADEMARKS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" id="SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts">
          <link:definition>995549 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" id="SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization">
          <link:definition>995550 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative" id="SoftwareDevelopmentCostsDetailsNarrative">
          <link:definition>995551 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements" id="DebtDetails-NotesPayable-FinancingAgreements">
          <link:definition>995552 - Disclosure - DEBT (Details - Notes payable - financing agreements)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/DebtDetailsNarrative" id="DebtDetailsNarrative">
          <link:definition>995553 - Disclosure - DEBT (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets" id="RevenuesAndContractAccountingDetails-ContractAssets">
          <link:definition>995554 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities" id="RevenuesAndContractAccountingDetails-ContractLiabilities">
          <link:definition>995555 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue" id="RevenuesAndContractAccountingDetails-disaggregatedRevenue">
          <link:definition>995556 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative" id="RevenuesAndContractAccountingDetailsNarrative">
          <link:definition>995557 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/DeferredCompensationDetailsNarrative" id="DeferredCompensationDetailsNarrative">
          <link:definition>995558 - Disclosure - DEFERRED COMPENSATION (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" id="CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases">
          <link:definition>995559 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" id="CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments">
          <link:definition>995560 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" id="CommitmentsAndContingenciesDetailsNarrative">
          <link:definition>995561 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes" id="IncomeTaxesDetails-ProvisionForIncomeTaxes">
          <link:definition>995562 - Disclosure - INCOME TAXES (Details - Provision for income taxes)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets" id="IncomeTaxesDetails-DeferredTaxAssets">
          <link:definition>995563 - Disclosure - INCOME TAXES (Details - Deferred tax assets)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative">
          <link:definition>995564 - Disclosure - INCOME TAXES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/StockholdersEquityDetailsNarrative" id="StockholdersEquityDetailsNarrative">
          <link:definition>995565 - Disclosure - STOCKHOLDERS&#8217; EQUITY (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity" id="CommonStockOptionsAndWarrantsDetails-OptionsActivity">
          <link:definition>995566 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" id="CommonStockOptionsAndWarrantsDetails-FairValueAssumptions">
          <link:definition>995567 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" id="CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants">
          <link:definition>995568 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative" id="CommonStockOptionsAndWarrantsDetailsNarrative">
          <link:definition>995569 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" id="DefinedContributionPlanDetailsNarrative">
          <link:definition>995570 - Disclosure - DEFINED CONTRIBUTION PLAN (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SaleOfAssetsDetails" id="SaleOfAssetsDetails">
          <link:definition>995571 - Disclosure - SALE OF ASSETS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" id="SaleOfAssetsDetailsNarrative">
          <link:definition>995572 - Disclosure - SALE OF ASSETS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://duostechnologies/role/SubsequentEventsDetailsNarrative" id="SubsequentEventsDetailsNarrative">
          <link:definition>995573 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:linkbaseRef xlink:type="simple" xlink:href="duot-20231231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="duot-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="duot-20231231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="duot-20231231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
    <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
    <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
    <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
    <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
    <element id="duot_ConvertibleSeriesAPreferredStockMember" name="ConvertibleSeriesAPreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConvertibleSeriesBPreferredStockMember" name="ConvertibleSeriesBPreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConvertibleSeriesCPreferredStockMember" name="ConvertibleSeriesCPreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConvertibleSeriesDPreferredStockMember" name="ConvertibleSeriesDPreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConvertibleSeriesEPreferredStockMember" name="ConvertibleSeriesEPreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConvertibleSeriesFPreferredStockMember" name="ConvertibleSeriesFPreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PreferredStockBMember" name="PreferredStockBMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PreferredStockCMember" name="PreferredStockCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PreferredStockDMember" name="PreferredStockDMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PreferredStockEMember" name="PreferredStockEMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PreferredStockFMember" name="PreferredStockFMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_Customer1Member" name="Customer1Member" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_Customer2Member" name="Customer2Member" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_Customer3Member" name="Customer3Member" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_Customer4Member" name="Customer4Member" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CustomerMember" name="CustomerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PatentsAndTrademarksMember" name="PatentsAndTrademarksMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesDConvertiblePreferredStockMember" name="SeriesDConvertiblePreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesEConvertiblePreferredStockMember" name="SeriesEConvertiblePreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesFConvertiblePreferredStockMember" name="SeriesFConvertiblePreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ThirdPartyInsuranceNoteOneMember" name="ThirdPartyInsuranceNoteOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ThirdPartyInsuranceNoteTwoMember" name="ThirdPartyInsuranceNoteTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ThirdPartyInsuranceNoteThreeMember" name="ThirdPartyInsuranceNoteThreeMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ThirdPartyInsuranceNoteFourMember" name="ThirdPartyInsuranceNoteFourMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_EquipmentFinancingMember" name="EquipmentFinancingMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_RailMember" name="RailMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CommercialMember" name="CommercialMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_GovernmentsMember" name="GovernmentsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ArtificialIntelligenceMember" name="ArtificialIntelligenceMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_TurnkeyProjectsMember" name="TurnkeyProjectsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_MaintenanceAndSupportMember" name="MaintenanceAndSupportMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_DataCenterAuditingServicesMember" name="DataCenterAuditingServicesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SoftwareLicenseMember" name="SoftwareLicenseMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_AlgorithmsMember" name="AlgorithmsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_GoodsTransferredOverTimeMember" name="GoodsTransferredOverTimeMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ServicesTransferredOverTimeMember" name="ServicesTransferredOverTimeMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_TwoThousandTwentyOneEquityIncentivePlanMember" name="TwoThousandTwentyOneEquityIncentivePlanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesBConvertiblePreferredStockMember" name="SeriesBConvertiblePreferredStockMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PurchaseAgreementMember" name="PurchaseAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ThreeDirectorsMember" name="ThreeDirectorsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_FourDirectorsMember" name="FourDirectorsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ESPPMember" name="ESPPMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_EmployeeStockPurchasePlanMember" name="EmployeeStockPurchasePlanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_EmployeesAndDirectorsMember" name="EmployeesAndDirectorsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ShareholdersOneMember" name="ShareholdersOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ShareholdersTwoMember" name="ShareholdersTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_OptionsMember" name="OptionsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_FormerStaffMember" name="FormerStaffMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_TwoEmployeesMember" name="TwoEmployeesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_FourtyEightWarrantsHoldersMember" name="FourtyEightWarrantsHoldersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SixtyThreeWarrantsHoldersMember" name="SixtyThreeWarrantsHoldersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_NewAccreditedInvestorsMember" name="NewAccreditedInvestorsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" name="CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" name="TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PreferredStockSharesAvailableToBeDesignated" name="PreferredStockSharesAvailableToBeDesignated" nillable="true" xbrli:periodType="instant" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesEPreferredStockIssued" name="SeriesEPreferredStockIssued" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesEPreferredStockIssuedShares" name="SeriesEPreferredStockIssuedShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesFPreferredStockIssued" name="SeriesFPreferredStockIssued" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesFPreferredStockIssuedShares" name="SeriesFPreferredStockIssuedShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesFPreferredStockConvertedToSeriesEPreferred" name="SeriesFPreferredStockConvertedToSeriesEPreferred" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares" name="SeriesFPreferredStockConvertedToSeriesEPreferredShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesCPreferredStockConvertedToCommonStock" name="SeriesCPreferredStockConvertedToCommonStock" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesCPreferredStockConvertedToCommonStockShares" name="SeriesCPreferredStockConvertedToCommonStockShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesBPreferredStockConvertedToCommonStock" name="SeriesBPreferredStockConvertedToCommonStock" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesBPreferredStockConvertedToCommonStockShares" name="SeriesBPreferredStockConvertedToCommonStockShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesDPreferredStockConvertedToCommonStock" name="SeriesDPreferredStockConvertedToCommonStock" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesDPreferredStockConvertedToCommonStockShares" name="SeriesDPreferredStockConvertedToCommonStockShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" name="StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" name="StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_StockIssuedForServices" name="StockIssuedForServices" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_IncreaseDecreaseInNotesReceivable" name="IncreaseDecreaseInNotesReceivable" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_RepaymentsOfInsuranceAndEquipmentFinancing" name="RepaymentsOfInsuranceAndEquipmentFinancing" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_RepaymentsOfLongTermCapitalLeaseObligation" name="RepaymentsOfLongTermCapitalLeaseObligation" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ProceedsFromIssuanceOfCommonStocks" name="ProceedsFromIssuanceOfCommonStocks" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_IssuanceCosts" name="IssuanceCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_DisclosureSaleOfAssetsAbstract" name="DisclosureSaleOfAssetsAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SaleOfAssetsTextBlock" name="SaleOfAssetsTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_NatureOfOperationsPolicyTextBlock" name="NatureOfOperationsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PatentsAndTrademarksPolicyTextBlock" name="PatentsAndTrademarksPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_LonglivedAssetsTextBlock" name="LonglivedAssetsTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SalesReturnPolicyTextBlock" name="SalesReturnPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" name="MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock" name="ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock" name="CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock" name="ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock" name="ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ScheduleOfNoteReceivableTableTextBlock" name="ScheduleOfNoteReceivableTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ProductWarrantyPeriod" name="ProductWarrantyPeriod" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" nillable="true" xbrli:periodType="instant" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConversionOfStockSharesConverted" name="ConversionOfStockSharesConverted" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_WorkingCapitalSurplus" name="WorkingCapitalSurplus" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConstructionInProgress" name="ConstructionInProgress" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SoftwareDevelopmentCostsNet" name="SoftwareDevelopmentCostsNet" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_AmortizationOfIntangibleAssets1" name="AmortizationOfIntangibleAssets1" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_DepreciationOfSoftwareCost" name="DepreciationOfSoftwareCost" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PurchaseOfInsurancePolicy" name="PurchaseOfInsurancePolicy" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_DownPaymentPaid" name="DownPaymentPaid" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_InsuranceMonthlyInstallments" name="InsuranceMonthlyInstallments" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CostsAndEstimatedEarningsRecognized" name="CostsAndEstimatedEarningsRecognized" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_BillingsOrCashReceived" name="BillingsOrCashReceived" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_BillingsAndorCashReceiptsOnUncompletedContracts" name="BillingsAndorCashReceiptsOnUncompletedContracts" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_CostAndEstimatedEarningsRecognized" name="CostAndEstimatedEarningsRecognized" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ContractLiabilitiesTechnologiesSystems" name="ContractLiabilitiesTechnologiesSystems" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ContractLiabilitiesServicesAndConsulting" name="ContractLiabilitiesServicesAndConsulting" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ServicesAndConsultingRecognized" name="ServicesAndConsultingRecognized" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_AreaOfLease" name="AreaOfLease" nillable="true" xbrli:periodType="duration" type="xbrli:decimalItemType" substitutionGroup="xbrli:item" />
    <element id="duot_RentableSpace" name="RentableSpace" nillable="true" xbrli:periodType="duration" type="xbrli:decimalItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" name="PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_AggregateFairMarketValueOfOurCommonStockNotExceed" name="AggregateFairMarketValueOfOurCommonStockNotExceed" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesCPreferredConvertedToCommonStockShares" name="SeriesCPreferredConvertedToCommonStockShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesEPreferredConvertiblePreferredStockShares" name="SeriesEPreferredConvertiblePreferredStockShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_StockExchangeShares" name="StockExchangeShares" nillable="true" xbrli:periodType="instant" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SeriesFPreferredConvertiblePreferredStockShares" name="SeriesFPreferredConvertiblePreferredStockShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConversionOfStockSharesIssued" name="ConversionOfStockSharesIssued" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConvertedToCommonStockShares" name="ConvertedToCommonStockShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_AccruedOfferingCosts" name="AccruedOfferingCosts" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" name="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2" name="SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="duot_WarrantsExpiredForfeitedCancelledOrExercised" name="WarrantsExpiredForfeitedCancelledOrExercised" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" name="WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice" name="WarrantsExchangedForCommonStockWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConvertibleNoteReceivable" name="ConvertibleNoteReceivable" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_ConvertibleNoteReceivableNet" name="ConvertibleNoteReceivableNet" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PrincipalAmount" name="PrincipalAmount" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="duot_OriginalIssueDiscount" name="OriginalIssueDiscount" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="duot_PurchaseOfCommonStockWarrants" name="PurchaseOfCommonStockWarrants" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>duot-20231231_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://duostechnologies/role/Cover" xlink:href="duot-20231231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheets" xlink:href="duot-20231231.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="duot-20231231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperations" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfOperationsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:href="duot-20231231.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Liquidity" xlink:href="duot-20231231.xsd#Liquidity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/AccountsReceivable" xlink:href="duot-20231231.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipment" xlink:href="duot-20231231.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarks" xlink:href="duot-20231231.xsd#PatentsAndTrademarks" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareDevelopmentCosts" xlink:href="duot-20231231.xsd#SoftwareDevelopmentCosts" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Debt" xlink:href="duot-20231231.xsd#Debt" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccounting" xlink:href="duot-20231231.xsd#RevenuesAndContractAccounting" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DeferredCompensation" xlink:href="duot-20231231.xsd#DeferredCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingencies" xlink:href="duot-20231231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxes" xlink:href="duot-20231231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquity" xlink:href="duot-20231231.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrants" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrants" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlan" xlink:href="duot-20231231.xsd#DefinedContributionPlan" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RelatedPartyTransactions" xlink:href="duot-20231231.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssets" xlink:href="duot-20231231.xsd#SaleOfAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEvents" xlink:href="duot-20231231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:href="duot-20231231.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/AccountsReceivableTables" xlink:href="duot-20231231.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentTables" xlink:href="duot-20231231.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarksTables" xlink:href="duot-20231231.xsd#PatentsAndTrademarksTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareDevelopmentCostsTables" xlink:href="duot-20231231.xsd#SoftwareDevelopmentCostsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtTables" xlink:href="duot-20231231.xsd#DebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingTables" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesTables" xlink:href="duot-20231231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsTables" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsTables" xlink:href="duot-20231231.xsd#SaleOfAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="duot-20231231.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:href="duot-20231231.xsd#LiquidityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable" xlink:href="duot-20231231.xsd#AccountsReceivableDetails-AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" xlink:href="duot-20231231.xsd#PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" xlink:href="duot-20231231.xsd#PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative" xlink:href="duot-20231231.xsd#PropertyAndEquipmentDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks" xlink:href="duot-20231231.xsd#PatentsAndTrademarksDetails-PatentsAndTrademarks" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative" xlink:href="duot-20231231.xsd#PatentsAndTrademarksDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" xlink:href="duot-20231231.xsd#SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" xlink:href="duot-20231231.xsd#SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative" xlink:href="duot-20231231.xsd#SoftwareDevelopmentCostsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements" xlink:href="duot-20231231.xsd#DebtDetails-NotesPayable-FinancingAgreements" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetailsNarrative" xlink:href="duot-20231231.xsd#DebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetails-ContractAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetails-ContractLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetails-disaggregatedRevenue" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DeferredCompensationDetailsNarrative" xlink:href="duot-20231231.xsd#DeferredCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes" xlink:href="duot-20231231.xsd#IncomeTaxesDetails-ProvisionForIncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets" xlink:href="duot-20231231.xsd#IncomeTaxesDetails-DeferredTaxAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesDetailsNarrative" xlink:href="duot-20231231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:href="duot-20231231.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetails-OptionsActivity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:href="duot-20231231.xsd#DefinedContributionPlanDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetails" xlink:href="duot-20231231.xsd#SaleOfAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:href="duot-20231231.xsd#SaleOfAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:href="duot-20231231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedBalanceSheets" xlink:title="00000002 - Statement - CONSOLIDATED BALANCE SHEETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCash" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssets" xlink:label="loc_us-gaapOtherAssets" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:label="loc_us-gaapNotesAndLoansReceivableNetNoncurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherAssets" xlink:to="loc_us-gaapNotesAndLoansReceivableNetNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherAssets" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" xlink:label="loc_duotCapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherAssets" xlink:to="loc_duotCapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecurityDeposit" xlink:label="loc_us-gaapSecurityDeposit" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapSecurityDeposit" xlink:type="arc" weight="1" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOtherAssets" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNotesPayableCurrent" xlink:label="loc_us-gaapOtherNotesPayableCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOtherNotesPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="loc_us-gaapFinanceLeaseLiabilityCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapFinanceLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:label="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:to="loc_us-gaapPreferredStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:to="loc_us-gaapAdditionalPaidInCapitalCommonStock" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="loc_us-gaapTreasuryStockCommonValue" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapTreasuryStockCommonValue" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfOperations" xlink:title="00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenues" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="loc_us-gaapOperatingCostsAndExpenses" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingCostsAndExpenses" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingCostsAndExpenses" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingCostsAndExpenses" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapOperatingCostsAndExpenses" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapNonoperatingIncomeExpense" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:title="00000005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity" xlink:title="00000006 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS&apos; EQUITY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:title="00000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockIssuedForServices" xlink:label="loc_duotStockIssuedForServices" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_duotStockIssuedForServices" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="loc_us-gaapIncreaseDecreaseInReceivables" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInReceivables" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_IncreaseDecreaseInNotesReceivable" xlink:label="loc_duotIncreaseDecreaseInNotesReceivable" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_duotIncreaseDecreaseInNotesReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInSecurityDeposits" xlink:label="loc_us-gaapIncreaseDecreaseInSecurityDeposits" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInSecurityDeposits" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="loc_us-gaapPaymentsToAcquireIntangibleAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireIntangibleAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToDevelopSoftware" xlink:label="loc_us-gaapPaymentsToDevelopSoftware" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToDevelopSoftware" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RepaymentsOfInsuranceAndEquipmentFinancing" xlink:label="loc_duotRepaymentsOfInsuranceAndEquipmentFinancing" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_duotRepaymentsOfInsuranceAndEquipmentFinancing" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RepaymentsOfLongTermCapitalLeaseObligation" xlink:label="loc_duotRepaymentsOfLongTermCapitalLeaseObligation" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_duotRepaymentsOfLongTermCapitalLeaseObligation" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ProceedsFromIssuanceOfCommonStocks" xlink:label="loc_duotProceedsFromIssuanceOfCommonStocks" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_duotProceedsFromIssuanceOfCommonStocks" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_IssuanceCosts" xlink:label="loc_duotIssuanceCosts" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_duotIssuanceCosts" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" xlink:label="loc_us-gaapProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:label="loc_us-gaapProceedsFromIssuanceOrSaleOfEquity" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOrSaleOfEquity" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:title="995513 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/Liquidity" xlink:title="995514 - Disclosure - LIQUIDITY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/AccountsReceivable" xlink:title="995515 - Disclosure - ACCOUNTS RECEIVABLE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipment" xlink:title="995516 - Disclosure - PROPERTY AND EQUIPMENT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarks" xlink:title="995517 - Disclosure - PATENTS AND TRADEMARKS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareDevelopmentCosts" xlink:title="995518 - Disclosure - SOFTWARE DEVELOPMENT COSTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/Debt" xlink:title="995519 - Disclosure - DEBT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccounting" xlink:title="995520 - Disclosure - REVENUES AND CONTRACT ACCOUNTING" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DeferredCompensation" xlink:title="995521 - Disclosure - DEFERRED COMPENSATION" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingencies" xlink:title="995522 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxes" xlink:title="995523 - Disclosure - INCOME TAXES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquity" xlink:title="995524 - Disclosure - STOCKHOLDERS&#8217; EQUITY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrants" xlink:title="995525 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlan" xlink:title="995526 - Disclosure - DEFINED CONTRIBUTION PLAN" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RelatedPartyTransactions" xlink:title="995527 - Disclosure - RELATED PARTY TRANSACTIONS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssets" xlink:title="995528 - Disclosure - SALE OF ASSETS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEvents" xlink:title="995529 - Disclosure - SUBSEQUENT EVENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995530 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/AccountsReceivableTables" xlink:title="995531 - Disclosure - ACCOUNTS RECEIVABLE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentTables" xlink:title="995532 - Disclosure - PROPERTY AND EQUIPMENT (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarksTables" xlink:title="995533 - Disclosure - PATENTS AND TRADEMARKS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareDevelopmentCostsTables" xlink:title="995534 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtTables" xlink:title="995535 - Disclosure - DEBT (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingTables" xlink:title="995536 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:title="995537 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesTables" xlink:title="995538 - Disclosure - INCOME TAXES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsTables" xlink:title="995539 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsTables" xlink:title="995540 - Disclosure - SALE OF ASSETS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995541 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:title="995542 - Disclosure - LIQUIDITY (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable" xlink:title="995543 - Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsReceivableNet" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivable" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsReceivableNet" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivable" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" xlink:title="995544 - Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" xlink:title="995545 - Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative" xlink:title="995546 - Disclosure - PROPERTY AND EQUIPMENT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks" xlink:title="995547 - Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative" xlink:title="995548 - Disclosure - PATENTS AND TRADEMARKS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" xlink:title="995549 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" xlink:title="995550 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative" xlink:title="995551 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements" xlink:title="995552 - Disclosure - DEBT (Details - Notes payable - financing agreements)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetailsNarrative" xlink:title="995553 - Disclosure - DEBT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets" xlink:title="995554 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CostsAndEstimatedEarningsRecognized" xlink:label="loc_duotCostsAndEstimatedEarningsRecognized" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:to="loc_duotCostsAndEstimatedEarningsRecognized" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_BillingsOrCashReceived" xlink:label="loc_duotBillingsOrCashReceived" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:to="loc_duotBillingsOrCashReceived" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities" xlink:title="995555 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)">
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ContractLiabilitiesTechnologiesSystems" xlink:label="loc_duotContractLiabilitiesTechnologiesSystems" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_BillingsAndorCashReceiptsOnUncompletedContracts" xlink:label="loc_duotBillingsAndorCashReceiptsOnUncompletedContracts" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_duotContractLiabilitiesTechnologiesSystems" xlink:to="loc_duotBillingsAndorCashReceiptsOnUncompletedContracts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CostAndEstimatedEarningsRecognized" xlink:label="loc_duotCostAndEstimatedEarningsRecognized" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_duotContractLiabilitiesTechnologiesSystems" xlink:to="loc_duotCostAndEstimatedEarningsRecognized" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapContractWithCustomerLiability" xlink:to="loc_duotContractLiabilitiesTechnologiesSystems" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ContractLiabilitiesServicesAndConsulting" xlink:label="loc_duotContractLiabilitiesServicesAndConsulting" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapContractWithCustomerLiability" xlink:to="loc_duotContractLiabilitiesServicesAndConsulting" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue" xlink:title="995556 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative" xlink:title="995557 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DeferredCompensationDetailsNarrative" xlink:title="995558 - Disclosure - DEFERRED COMPENSATION (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:title="995559 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:title="995560 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995561 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes" xlink:title="995562 - Disclosure - INCOME TAXES (Details - Provision for income taxes)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets" xlink:title="995563 - Disclosure - INCOME TAXES (Details - Deferred tax assets)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesDetailsNarrative" xlink:title="995564 - Disclosure - INCOME TAXES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:title="995565 - Disclosure - STOCKHOLDERS&#8217; EQUITY (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity" xlink:title="995566 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" xlink:title="995567 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" xlink:title="995568 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative" xlink:title="995569 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:title="995570 - Disclosure - DEFINED CONTRIBUTION PLAN (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetails" xlink:title="995571 - Disclosure - SALE OF ASSETS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:title="995572 - Disclosure - SALE OF ASSETS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:title="995573 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>11
<FILENAME>duot-20231231_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://duostechnologies/role/Cover" xlink:href="duot-20231231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheets" xlink:href="duot-20231231.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="duot-20231231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperations" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfOperationsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:href="duot-20231231.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Liquidity" xlink:href="duot-20231231.xsd#Liquidity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/AccountsReceivable" xlink:href="duot-20231231.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipment" xlink:href="duot-20231231.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarks" xlink:href="duot-20231231.xsd#PatentsAndTrademarks" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareDevelopmentCosts" xlink:href="duot-20231231.xsd#SoftwareDevelopmentCosts" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Debt" xlink:href="duot-20231231.xsd#Debt" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccounting" xlink:href="duot-20231231.xsd#RevenuesAndContractAccounting" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DeferredCompensation" xlink:href="duot-20231231.xsd#DeferredCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingencies" xlink:href="duot-20231231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxes" xlink:href="duot-20231231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquity" xlink:href="duot-20231231.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrants" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrants" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlan" xlink:href="duot-20231231.xsd#DefinedContributionPlan" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RelatedPartyTransactions" xlink:href="duot-20231231.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssets" xlink:href="duot-20231231.xsd#SaleOfAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEvents" xlink:href="duot-20231231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:href="duot-20231231.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/AccountsReceivableTables" xlink:href="duot-20231231.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentTables" xlink:href="duot-20231231.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarksTables" xlink:href="duot-20231231.xsd#PatentsAndTrademarksTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareDevelopmentCostsTables" xlink:href="duot-20231231.xsd#SoftwareDevelopmentCostsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtTables" xlink:href="duot-20231231.xsd#DebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingTables" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesTables" xlink:href="duot-20231231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsTables" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsTables" xlink:href="duot-20231231.xsd#SaleOfAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="duot-20231231.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:href="duot-20231231.xsd#LiquidityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable" xlink:href="duot-20231231.xsd#AccountsReceivableDetails-AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" xlink:href="duot-20231231.xsd#PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" xlink:href="duot-20231231.xsd#PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative" xlink:href="duot-20231231.xsd#PropertyAndEquipmentDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks" xlink:href="duot-20231231.xsd#PatentsAndTrademarksDetails-PatentsAndTrademarks" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative" xlink:href="duot-20231231.xsd#PatentsAndTrademarksDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" xlink:href="duot-20231231.xsd#SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" xlink:href="duot-20231231.xsd#SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative" xlink:href="duot-20231231.xsd#SoftwareDevelopmentCostsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements" xlink:href="duot-20231231.xsd#DebtDetails-NotesPayable-FinancingAgreements" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetailsNarrative" xlink:href="duot-20231231.xsd#DebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetails-ContractAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetails-ContractLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetails-disaggregatedRevenue" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DeferredCompensationDetailsNarrative" xlink:href="duot-20231231.xsd#DeferredCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes" xlink:href="duot-20231231.xsd#IncomeTaxesDetails-ProvisionForIncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets" xlink:href="duot-20231231.xsd#IncomeTaxesDetails-DeferredTaxAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesDetailsNarrative" xlink:href="duot-20231231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:href="duot-20231231.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetails-OptionsActivity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:href="duot-20231231.xsd#DefinedContributionPlanDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetails" xlink:href="duot-20231231.xsd#SaleOfAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:href="duot-20231231.xsd#SaleOfAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:href="duot-20231231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosureWithAdditionalMeasures" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpDisclosureWithAdditionalMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpTable" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsToCompensation" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpAdjustmentsToCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TabularListsByExecutiveCategory" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#TabularListsByExecutiveCategory" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TabularListMeasures" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#TabularListMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpMeasures" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpExecutiveCategoriesOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpAdjustmentsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#IndividualsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/AwardTypeOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardTypeOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#TradingArrangmentsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ForgoneRecoveries" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ForgoneRecoveries" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/OutstandingRecoveries" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#OutstandingRecoveries" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardsCloseToMnpiDisc" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardsCloseToMnpiDisc" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangementsByInd" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangemenstByInd" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/Defaults" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#Defaults" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedBalanceSheets" xlink:title="00000002 - Statement - CONSOLIDATED BALANCE SHEETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesAPreferredStockMember" xlink:label="loc_duotConvertibleSeriesAPreferredStockMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesAPreferredStockMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesBPreferredStockMember" xlink:label="loc_duotConvertibleSeriesBPreferredStockMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesBPreferredStockMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesCPreferredStockMember" xlink:label="loc_duotConvertibleSeriesCPreferredStockMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesCPreferredStockMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesDPreferredStockMember" xlink:label="loc_duotConvertibleSeriesDPreferredStockMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesDPreferredStockMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesEPreferredStockMember" xlink:label="loc_duotConvertibleSeriesEPreferredStockMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesEPreferredStockMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesFPreferredStockMember" xlink:label="loc_duotConvertibleSeriesFPreferredStockMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesFPreferredStockMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsAbstract_150" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsAbstract_150" xlink:to="loc_us-gaapAssetsCurrentAbstract_150" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_150" xlink:to="loc_us-gaapCash_150" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_150" xlink:to="loc_us-gaapAccountsReceivableNetCurrent_150" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_150" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent_150" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_150" xlink:to="loc_us-gaapInventoryNet_150" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_150" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent_150" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_150" xlink:to="loc_us-gaapAssetsCurrent_150" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_150" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_150" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_150" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_150" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecurityDeposit" xlink:label="loc_us-gaapSecurityDeposit_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_150" xlink:to="loc_us-gaapSecurityDeposit_150" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsAbstract" xlink:label="loc_us-gaapOtherAssetsAbstract_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherAssetsAbstract_150" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:label="loc_us-gaapNotesAndLoansReceivableNetNoncurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherAssetsAbstract_150" xlink:to="loc_us-gaapNotesAndLoansReceivableNetNoncurrent_150" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherAssetsAbstract_150" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_150" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" xlink:label="loc_duotCapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherAssetsAbstract_150" xlink:to="loc_duotCapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer_150" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssets" xlink:label="loc_us-gaapOtherAssets_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherAssetsAbstract_150" xlink:to="loc_us-gaapOtherAssets_150" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssets_150" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_150" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_150" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract_150" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_150" xlink:to="loc_us-gaapAccountsPayableCurrent_150" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNotesPayableCurrent" xlink:label="loc_us-gaapOtherNotesPayableCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_150" xlink:to="loc_us-gaapOtherNotesPayableCurrent_150" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_150" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent_150" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="loc_us-gaapFinanceLeaseLiabilityCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_150" xlink:to="loc_us-gaapFinanceLeaseLiabilityCurrent_150" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_150" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent_150" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_150" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent_150" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_150" xlink:to="loc_us-gaapLiabilitiesCurrent_150" xlink:type="arc" order="25" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_150" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent_150" xlink:type="arc" order="26" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_150" xlink:to="loc_us-gaapLiabilities_150" xlink:type="arc" order="27" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_150" xlink:to="loc_us-gaapCommitmentsAndContingencies_150" xlink:type="arc" order="28" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityAbstract_150" xlink:type="arc" order="29" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockValue_150" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockValue_150" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdditionalPaidInCapitalCommonStock_150" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit_150" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:label="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit_150" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="loc_us-gaapTreasuryStockCommonValue_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockCommonValue_150" xlink:type="arc" order="35" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_150" xlink:type="arc" order="36" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity_150" xlink:type="arc" order="37" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesAPreferredStockMember" xlink:label="loc_duotConvertibleSeriesAPreferredStockMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesAPreferredStockMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesBPreferredStockMember" xlink:label="loc_duotConvertibleSeriesBPreferredStockMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesBPreferredStockMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesCPreferredStockMember" xlink:label="loc_duotConvertibleSeriesCPreferredStockMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesCPreferredStockMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesDPreferredStockMember" xlink:label="loc_duotConvertibleSeriesDPreferredStockMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesDPreferredStockMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesEPreferredStockMember" xlink:label="loc_duotConvertibleSeriesEPreferredStockMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesEPreferredStockMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesFPreferredStockMember" xlink:label="loc_duotConvertibleSeriesFPreferredStockMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesFPreferredStockMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare_150" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesAuthorized_150" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockSharesAvailableToBeDesignated" xlink:label="loc_duotPreferredStockSharesAvailableToBeDesignated_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotPreferredStockSharesAvailableToBeDesignated_150" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued_150" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding_150" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockRedemptionPricePerShare" xlink:label="loc_us-gaapPreferredStockRedemptionPricePerShare_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockRedemptionPricePerShare_150" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare_150" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesAuthorized_150" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesIssued_150" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesOutstanding_150" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="loc_us-gaapTreasuryStockCommonShares_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockCommonShares_150" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfOperations" xlink:title="00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaapProductMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapProductMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ServiceOtherMember" xlink:label="loc_us-gaapServiceOtherMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapServiceOtherMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesAbstract" xlink:label="loc_us-gaapRevenuesAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenuesAbstract_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenues_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:label="loc_us-gaapCostOfGoodsAndServicesSoldAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSoldAbstract_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfRevenue_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGrossProfit_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingExpensesAbstract_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_70" xlink:to="loc_us-gaapSellingAndMarketingExpense_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_70" xlink:to="loc_us-gaapResearchAndDevelopmentExpense_70" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_70" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense_70" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="loc_us-gaapOperatingCostsAndExpenses_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_70" xlink:to="loc_us-gaapOperatingCostsAndExpenses_70" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss_70" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract" xlink:label="loc_us-gaapOtherIncomeAndExpensesAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherIncomeAndExpensesAbstract_70" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherIncomeAndExpensesAbstract_70" xlink:to="loc_us-gaapInterestExpense_70" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherIncomeAndExpensesAbstract_70" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense_70" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherIncomeAndExpensesAbstract_70" xlink:to="loc_us-gaapNonoperatingIncomeExpense_70" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_70" xlink:type="arc" order="15" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:title="00000005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity" xlink:title="00000006 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS&apos; EQUITY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockBMember" xlink:label="loc_duotPreferredStockBMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_duotPreferredStockBMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockCMember" xlink:label="loc_duotPreferredStockCMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_duotPreferredStockCMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockDMember" xlink:label="loc_duotPreferredStockDMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_duotPreferredStockDMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockEMember" xlink:label="loc_duotPreferredStockEMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_duotPreferredStockEMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockFMember" xlink:label="loc_duotPreferredStockFMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_duotPreferredStockFMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="loc_us-gaapTreasuryStockCommonMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapTreasuryStockCommonMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_110" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_110" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEPreferredStockIssued" xlink:label="loc_duotSeriesEPreferredStockIssued_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesEPreferredStockIssued_110" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEPreferredStockIssuedShares" xlink:label="loc_duotSeriesEPreferredStockIssuedShares_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesEPreferredStockIssuedShares_110" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockIssued" xlink:label="loc_duotSeriesFPreferredStockIssued_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesFPreferredStockIssued_110" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockIssuedShares" xlink:label="loc_duotSeriesFPreferredStockIssuedShares_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesFPreferredStockIssuedShares_110" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockConvertedToSeriesEPreferred" xlink:label="loc_duotSeriesFPreferredStockConvertedToSeriesEPreferred_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesFPreferredStockConvertedToSeriesEPreferred_110" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares" xlink:label="loc_duotSeriesFPreferredStockConvertedToSeriesEPreferredShares_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesFPreferredStockConvertedToSeriesEPreferredShares_110" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesCPreferredStockConvertedToCommonStock" xlink:label="loc_duotSeriesCPreferredStockConvertedToCommonStock_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesCPreferredStockConvertedToCommonStock_110" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesCPreferredStockConvertedToCommonStockShares" xlink:label="loc_duotSeriesCPreferredStockConvertedToCommonStockShares_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesCPreferredStockConvertedToCommonStockShares_110" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesBPreferredStockConvertedToCommonStock" xlink:label="loc_duotSeriesBPreferredStockConvertedToCommonStock_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesBPreferredStockConvertedToCommonStock_110" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesBPreferredStockConvertedToCommonStockShares" xlink:label="loc_duotSeriesBPreferredStockConvertedToCommonStockShares_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesBPreferredStockConvertedToCommonStockShares_110" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDPreferredStockConvertedToCommonStock" xlink:label="loc_duotSeriesDPreferredStockConvertedToCommonStock_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesDPreferredStockConvertedToCommonStock_110" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDPreferredStockConvertedToCommonStockShares" xlink:label="loc_duotSeriesDPreferredStockConvertedToCommonStockShares_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesDPreferredStockConvertedToCommonStockShares_110" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_110" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueOther_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueOther_110" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesOther_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesOther_110" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPaymentsOfStockIssuanceCosts_110" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_110" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_110" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" xlink:label="loc_duotStockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotStockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation_110" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" xlink:label="loc_duotStockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotStockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares_110" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_110" xlink:type="arc" order="23" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:title="00000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:title="995513 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/Liquidity" xlink:title="995514 - Disclosure - LIQUIDITY" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/AccountsReceivable" xlink:title="995515 - Disclosure - ACCOUNTS RECEIVABLE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipment" xlink:title="995516 - Disclosure - PROPERTY AND EQUIPMENT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarks" xlink:title="995517 - Disclosure - PATENTS AND TRADEMARKS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareDevelopmentCosts" xlink:title="995518 - Disclosure - SOFTWARE DEVELOPMENT COSTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/Debt" xlink:title="995519 - Disclosure - DEBT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccounting" xlink:title="995520 - Disclosure - REVENUES AND CONTRACT ACCOUNTING" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DeferredCompensation" xlink:title="995521 - Disclosure - DEFERRED COMPENSATION" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingencies" xlink:title="995522 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxes" xlink:title="995523 - Disclosure - INCOME TAXES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquity" xlink:title="995524 - Disclosure - STOCKHOLDERS&#8217; EQUITY" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrants" xlink:title="995525 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlan" xlink:title="995526 - Disclosure - DEFINED CONTRIBUTION PLAN" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RelatedPartyTransactions" xlink:title="995527 - Disclosure - RELATED PARTY TRANSACTIONS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssets" xlink:title="995528 - Disclosure - SALE OF ASSETS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEvents" xlink:title="995529 - Disclosure - SUBSEQUENT EVENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995530 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/AccountsReceivableTables" xlink:title="995531 - Disclosure - ACCOUNTS RECEIVABLE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentTables" xlink:title="995532 - Disclosure - PROPERTY AND EQUIPMENT (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock_30" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_30" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarksTables" xlink:title="995533 - Disclosure - PATENTS AND TRADEMARKS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareDevelopmentCostsTables" xlink:title="995534 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:label="loc_us-gaapSoftwareAndSoftwareDevelopmentCostsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapSoftwareAndSoftwareDevelopmentCostsMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock" xlink:label="loc_duotScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_duotScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock_30" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_30" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtTables" xlink:title="995535 - Disclosure - DEBT (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingTables" xlink:title="995536 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:title="995537 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesTables" xlink:title="995538 - Disclosure - INCOME TAXES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsTables" xlink:title="995539 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsTables" xlink:title="995540 - Disclosure - SALE OF ASSETS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995541 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapScheduleOfProductInformationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtMajorCustomersAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer1Member" xlink:label="loc_duotCustomer1Member_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomer1Member_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer2Member" xlink:label="loc_duotCustomer2Member_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomer2Member_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer3Member" xlink:label="loc_duotCustomer3Member_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomer3Member_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer4Member" xlink:label="loc_duotCustomer4Member_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomer4Member_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CustomerMember" xlink:label="loc_duotCustomerMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomerMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_90" xlink:type="arc" order="92" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember_10" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS_150" xlink:type="arc" order="154" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_170" xlink:type="arc" order="171" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_180" xlink:type="arc" order="181" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsMajorClassNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsMajorClassNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PatentsAndTrademarksMember" xlink:label="loc_duotPatentsAndTrademarksMember_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_duotPatentsAndTrademarksMember_190" xlink:type="arc" order="191" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_240" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonStockMember_240" xlink:type="arc" order="241" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDConvertiblePreferredStockMember" xlink:label="loc_duotSeriesDConvertiblePreferredStockMember_260" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesDConvertiblePreferredStockMember_260" xlink:type="arc" order="261" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEConvertiblePreferredStockMember" xlink:label="loc_duotSeriesEConvertiblePreferredStockMember_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesEConvertiblePreferredStockMember_270" xlink:type="arc" order="271" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFConvertiblePreferredStockMember" xlink:label="loc_duotSeriesFConvertiblePreferredStockMember_280" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesFConvertiblePreferredStockMember_280" xlink:type="arc" order="281" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_250" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_250" xlink:type="arc" order="251" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashUninsuredAmount" xlink:label="loc_us-gaapCashUninsuredAmount_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCashUninsuredAmount_330" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_330" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_330" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ProductWarrantyPeriod" xlink:label="loc_duotProductWarrantyPeriod_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_duotProductWarrantyPeriod_330" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="loc_us-gaapAdvertisingExpense_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAdvertisingExpense_330" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding_330" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_330" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConversionOfStockSharesConverted" xlink:label="loc_duotConversionOfStockSharesConverted_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_duotConversionOfStockSharesConverted_330" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:title="995542 - Disclosure - LIQUIDITY (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable" xlink:title="995543 - Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" xlink:title="995544 - Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaapFurnitureAndFixturesMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapFurnitureAndFixturesMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaapEquipmentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapEquipmentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="loc_us-gaapSoftwareDevelopmentMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapSoftwareDevelopmentMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_150" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_150" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_150" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization_150" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" xlink:title="995545 - Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet_20" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative" xlink:title="995546 - Disclosure - PROPERTY AND EQUIPMENT (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks" xlink:title="995547 - Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapPatentsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross_30" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_30" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet_30" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative" xlink:title="995548 - Disclosure - PATENTS AND TRADEMARKS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" xlink:title="995549 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" xlink:title="995550 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:label="loc_us-gaapSoftwareAndSoftwareDevelopmentCostsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapSoftwareAndSoftwareDevelopmentCostsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet_20" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative" xlink:title="995551 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements" xlink:title="995552 - Disclosure - DEBT (Details - Notes payable - financing agreements)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteOneMember" xlink:label="loc_duotThirdPartyInsuranceNoteOneMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteOneMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteTwoMember" xlink:label="loc_duotThirdPartyInsuranceNoteTwoMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteTwoMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteThreeMember" xlink:label="loc_duotThirdPartyInsuranceNoteThreeMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteThreeMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteFourMember" xlink:label="loc_duotThirdPartyInsuranceNoteFourMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteFourMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNotesPayableCurrent" xlink:label="loc_us-gaapOtherNotesPayableCurrent_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapOtherNotesPayableCurrent_110" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtPercentageBearingFixedInterestRate" xlink:label="loc_us-gaapLongTermDebtPercentageBearingFixedInterestRate_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtPercentageBearingFixedInterestRate_110" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetailsNarrative" xlink:title="995553 - Disclosure - DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteOneMember" xlink:label="loc_duotThirdPartyInsuranceNoteOneMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteOneMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteTwoMember" xlink:label="loc_duotThirdPartyInsuranceNoteTwoMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteTwoMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteThreeMember" xlink:label="loc_duotThirdPartyInsuranceNoteThreeMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteThreeMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteFourMember" xlink:label="loc_duotThirdPartyInsuranceNoteFourMember_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteFourMember_170" xlink:type="arc" order="171" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EquipmentFinancingMember" xlink:label="loc_duotEquipmentFinancingMember_210" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotEquipmentFinancingMember_210" xlink:type="arc" order="211" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesPayable" xlink:label="loc_us-gaapNotesPayable_260" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapNotesPayable_260" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="loc_us-gaapDerivativeFixedInterestRate_260" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDerivativeFixedInterestRate_260" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="loc_us-gaapDebtInstrumentPeriodicPayment_260" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentPeriodicPayment_260" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PurchaseOfInsurancePolicy" xlink:label="loc_duotPurchaseOfInsurancePolicy_260" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_duotPurchaseOfInsurancePolicy_260" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DownPaymentPaid" xlink:label="loc_duotDownPaymentPaid_260" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_duotDownPaymentPaid_260" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_InsuranceMonthlyInstallments" xlink:label="loc_duotInsuranceMonthlyInstallments_260" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_duotInsuranceMonthlyInstallments_260" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDepositsWithOtherInstitutions" xlink:label="loc_us-gaapProceedsFromDepositsWithOtherInstitutions_260" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapProceedsFromDepositsWithOtherInstitutions_260" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets" xlink:title="995554 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities" xlink:title="995555 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue" xlink:title="995556 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="loc_srtNorthAmericaMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtNorthAmericaMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RailMember" xlink:label="loc_duotRailMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_duotRailMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CommercialMember" xlink:label="loc_duotCommercialMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_duotCommercialMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_GovernmentsMember" xlink:label="loc_duotGovernmentsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_duotGovernmentsMember_20" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ArtificialIntelligenceMember" xlink:label="loc_duotArtificialIntelligenceMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_duotArtificialIntelligenceMember_30" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TurnkeyProjectsMember" xlink:label="loc_duotTurnkeyProjectsMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotTurnkeyProjectsMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_MaintenanceAndSupportMember" xlink:label="loc_duotMaintenanceAndSupportMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotMaintenanceAndSupportMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DataCenterAuditingServicesMember" xlink:label="loc_duotDataCenterAuditingServicesMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotDataCenterAuditingServicesMember_140" xlink:type="arc" order="141" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SoftwareLicenseMember" xlink:label="loc_duotSoftwareLicenseMember_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotSoftwareLicenseMember_190" xlink:type="arc" order="191" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AlgorithmsMember" xlink:label="loc_duotAlgorithmsMember_240" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotAlgorithmsMember_240" xlink:type="arc" order="241" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_GoodsTransferredOverTimeMember" xlink:label="loc_duotGoodsTransferredOverTimeMember_340" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_duotGoodsTransferredOverTimeMember_340" xlink:type="arc" order="342" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ServicesTransferredOverTimeMember" xlink:label="loc_duotServicesTransferredOverTimeMember_390" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_duotServicesTransferredOverTimeMember_390" xlink:type="arc" order="392" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_900" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_900" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative" xlink:title="995557 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DeferredCompensationDetailsNarrative" xlink:title="995558 - Disclosure - DEFERRED COMPENSATION (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:title="995559 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:title="995560 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995561 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes" xlink:title="995562 - Disclosure - INCOME TAXES (Details - Provision for income taxes)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets" xlink:title="995563 - Disclosure - INCOME TAXES (Details - Deferred tax assets)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesDetailsNarrative" xlink:title="995564 - Disclosure - INCOME TAXES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:title="995565 - Disclosure - STOCKHOLDERS&#8217; EQUITY (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems" xlink:label="loc_us-gaapClassOfStockLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="loc_us-gaapScheduleOfStockByClassTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapScheduleOfStockByClassTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapPlanNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TwoThousandTwentyOneEquityIncentivePlanMember" xlink:label="loc_duotTwoThousandTwentyOneEquityIncentivePlanMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotTwoThousandTwentyOneEquityIncentivePlanMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EmployeeStockPurchasePlanMember" xlink:label="loc_duotEmployeeStockPurchasePlanMember_760" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotEmployeeStockPurchasePlanMember_760" xlink:type="arc" order="761" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="loc_us-gaapOptionIndexedToIssuersEquityTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapOptionIndexedToIssuersEquityTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapOptionIndexedToIssuersEquityTypeAxis" xlink:to="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOptionIndexedToIssuersEquityTypeAxis" xlink:to="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesBPreferredStockMember" xlink:label="loc_duotConvertibleSeriesBPreferredStockMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesBPreferredStockMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesBConvertiblePreferredStockMember" xlink:label="loc_duotSeriesBConvertiblePreferredStockMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesBConvertiblePreferredStockMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesCPreferredStockMember" xlink:label="loc_duotConvertibleSeriesCPreferredStockMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesCPreferredStockMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesDPreferredStockMember" xlink:label="loc_duotConvertibleSeriesDPreferredStockMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesDPreferredStockMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDConvertiblePreferredStockMember" xlink:label="loc_duotSeriesDConvertiblePreferredStockMember_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesDConvertiblePreferredStockMember_150" xlink:type="arc" order="152" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesEPreferredStockMember" xlink:label="loc_duotConvertibleSeriesEPreferredStockMember_200" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesEPreferredStockMember_200" xlink:type="arc" order="201" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEConvertiblePreferredStockMember" xlink:label="loc_duotSeriesEConvertiblePreferredStockMember_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesEConvertiblePreferredStockMember_230" xlink:type="arc" order="231" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFConvertiblePreferredStockMember" xlink:label="loc_duotSeriesFConvertiblePreferredStockMember_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesFConvertiblePreferredStockMember_270" xlink:type="arc" order="271" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesFPreferredStockMember" xlink:label="loc_duotConvertibleSeriesFPreferredStockMember_280" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesFPreferredStockMember_280" xlink:type="arc" order="281" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesDPreferredStockMember" xlink:label="loc_us-gaapSeriesDPreferredStockMember_660" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapSeriesDPreferredStockMember_660" xlink:type="arc" order="661" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PurchaseAgreementMember" xlink:label="loc_duotPurchaseAgreementMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_duotPurchaseAgreementMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="loc_us-gaapPrivatePlacementMember_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_us-gaapPrivatePlacementMember_170" xlink:type="arc" order="172" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThreeDirectorsMember" xlink:label="loc_duotThreeDirectorsMember_380" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotThreeDirectorsMember_380" xlink:type="arc" order="381" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_FourDirectorsMember" xlink:label="loc_duotFourDirectorsMember_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotFourDirectorsMember_440" xlink:type="arc" order="441" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="loc_srtDirectorMember_570" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_srtDirectorMember_570" xlink:type="arc" order="571" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EmployeesAndDirectorsMember" xlink:label="loc_duotEmployeesAndDirectorsMember_840" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotEmployeesAndDirectorsMember_840" xlink:type="arc" order="841" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_380" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_380" xlink:type="arc" order="382" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_420" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_420" xlink:type="arc" order="421" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ESPPMember" xlink:label="loc_duotESPPMember_460" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_duotESPPMember_460" xlink:type="arc" order="461" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="loc_us-gaapPrivatePlacementMember_640" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_us-gaapPrivatePlacementMember_640" xlink:type="arc" order="641" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaapVestingAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapVestingAxis" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaapVestingDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapVestingAxis" xlink:to="loc_us-gaapVestingDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaapVestingDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapVestingAxis" xlink:to="loc_us-gaapVestingDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="loc_us-gaapShareBasedCompensationAwardTrancheOneMember_790" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapVestingDomain" xlink:to="loc_us-gaapShareBasedCompensationAwardTrancheOneMember_790" xlink:type="arc" order="792" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="loc_us-gaapShareBasedCompensationAwardTrancheTwoMember_820" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapVestingDomain" xlink:to="loc_us-gaapShareBasedCompensationAwardTrancheTwoMember_820" xlink:type="arc" order="822" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_860" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_860" xlink:type="arc" order="861" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_870" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_870" xlink:type="arc" order="871" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapRelatedPartyTransactionAxis" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ShareholdersOneMember" xlink:label="loc_duotShareholdersOneMember_890" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_duotShareholdersOneMember_890" xlink:type="arc" order="891" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ShareholdersTwoMember" xlink:label="loc_duotShareholdersTwoMember_900" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_duotShareholdersTwoMember_900" xlink:type="arc" order="901" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_950" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_950" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward_950" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockVotingRights" xlink:label="loc_us-gaapCommonStockVotingRights_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockVotingRights_950" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AggregateFairMarketValueOfOurCommonStockNotExceed" xlink:label="loc_duotAggregateFairMarketValueOfOurCommonStockNotExceed_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotAggregateFairMarketValueOfOurCommonStockNotExceed_950" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockSharesAuthorized_950" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare_950" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConversionOfStockAmountConverted1" xlink:label="loc_us-gaapConversionOfStockAmountConverted1_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapConversionOfStockAmountConverted1_950" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="loc_us-gaapDebtInstrumentConvertibleConversionPrice1_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapDebtInstrumentConvertibleConversionPrice1_950" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued_950" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding_950" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockVotingRights" xlink:label="loc_us-gaapPreferredStockVotingRights_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockVotingRights_950" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfConvertiblePreferredStock_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceOfConvertiblePreferredStock_950" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesCPreferredConvertedToCommonStockShares" xlink:label="loc_duotSeriesCPreferredConvertedToCommonStockShares_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotSeriesCPreferredConvertedToCommonStockShares_950" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockConvertibleConversionPrice" xlink:label="loc_us-gaapPreferredStockConvertibleConversionPrice_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockConvertibleConversionPrice_950" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEPreferredConvertiblePreferredStockShares" xlink:label="loc_duotSeriesEPreferredConvertiblePreferredStockShares_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotSeriesEPreferredConvertiblePreferredStockShares_950" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaapSharesIssued_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharesIssued_950" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharePrice_950" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="loc_us-gaapSharesIssuedPricePerShare_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharesIssuedPricePerShare_950" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockExchangeShares" xlink:label="loc_duotStockExchangeShares_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotStockExchangeShares_950" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredConvertiblePreferredStockShares" xlink:label="loc_duotSeriesFPreferredConvertiblePreferredStockShares_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotSeriesFPreferredConvertiblePreferredStockShares_950" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalUnitsOutstanding" xlink:label="loc_us-gaapCapitalUnitsOutstanding_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCapitalUnitsOutstanding_950" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_950" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_950" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_950" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP" xlink:label="loc_us-gaapEmployeeStockOwnershipPlanESOPCashContributionsToESOP_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapEmployeeStockOwnershipPlanESOPCashContributionsToESOP_950" xlink:type="arc" order="25" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense_950" xlink:type="arc" order="26" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrentAndNoncurrent_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapAccruedLiabilitiesCurrentAndNoncurrent_950" xlink:type="arc" order="27" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConversionOfStockSharesIssued" xlink:label="loc_duotConversionOfStockSharesIssued_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotConversionOfStockSharesIssued_950" xlink:type="arc" order="28" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockConvertibleConversionPriceIncrease" xlink:label="loc_us-gaapCommonStockConvertibleConversionPriceIncrease_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockConvertibleConversionPriceIncrease_950" xlink:type="arc" order="29" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_950" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_950" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="loc_us-gaapProceedsFromIssuanceInitialPublicOffering_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceInitialPublicOffering_950" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockIssuedEmployeeTrustDeferred" xlink:label="loc_us-gaapCommonStockIssuedEmployeeTrustDeferred_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockIssuedEmployeeTrustDeferred_950" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="loc_us-gaapSaleOfStockPricePerShare_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSaleOfStockPricePerShare_950" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertedToCommonStockShares" xlink:label="loc_duotConvertedToCommonStockShares_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotConvertedToCommonStockShares_950" xlink:type="arc" order="35" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement" xlink:label="loc_us-gaapPartnersCapitalAccountUnitsSoldInPrivatePlacement_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPartnersCapitalAccountUnitsSoldInPrivatePlacement_950" xlink:type="arc" order="36" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesOther_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesOther_950" xlink:type="arc" order="37" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:label="loc_us-gaapProceedsFromIssuanceOfPrivatePlacement_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceOfPrivatePlacement_950" xlink:type="arc" order="38" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AccruedOfferingCosts" xlink:label="loc_duotAccruedOfferingCosts_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotAccruedOfferingCosts_950" xlink:type="arc" order="39" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredOfferingCosts" xlink:label="loc_us-gaapDeferredOfferingCosts_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapDeferredOfferingCosts_950" xlink:type="arc" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_950" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_950" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance_950" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_950" xlink:type="arc" order="44" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_950" xlink:type="arc" order="45" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" xlink:label="loc_duotEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_950" xlink:type="arc" order="46" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_950" xlink:type="arc" order="47" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="loc_us-gaapTreasuryStockCommonShares_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapTreasuryStockCommonShares_950" xlink:type="arc" order="48" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="loc_us-gaapTreasuryStockCommonValue_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapTreasuryStockCommonValue_950" xlink:type="arc" order="49" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaapPaymentsForRepurchaseOfCommonStock_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPaymentsForRepurchaseOfCommonStock_950" xlink:type="arc" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare" xlink:label="loc_us-gaapAcceleratedShareRepurchasesFinalPricePaidPerShare_950" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapAcceleratedShareRepurchasesFinalPricePaidPerShare_950" xlink:type="arc" order="51" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity" xlink:title="995566 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" xlink:label="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_70" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_70" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_70" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_70" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_70" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_70" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_70" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_70" xlink:type="arc" order="17" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" xlink:title="995567 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_70" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" xlink:title="995568 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WarrantsExpiredForfeitedCancelledOrExercised" xlink:label="loc_duotWarrantsExpiredForfeitedCancelledOrExercised_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotWarrantsExpiredForfeitedCancelledOrExercised_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" xlink:label="loc_duotWeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotWeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConversionOfStockSharesIssued1" xlink:label="loc_us-gaapConversionOfStockSharesIssued1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapConversionOfStockSharesIssued1_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice" xlink:label="loc_duotWarrantsExchangedForCommonStockWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotWarrantsExchangedForCommonStockWeightedAverageExercisePrice_70" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_70" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_70" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_70" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_70" xlink:type="arc" order="14" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative" xlink:title="995569 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ManagementMember" xlink:label="loc_srtManagementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_srtManagementMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_OptionsMember" xlink:label="loc_duotOptionsMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_duotOptionsMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_FormerStaffMember" xlink:label="loc_duotFormerStaffMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_duotFormerStaffMember_60" xlink:type="arc" order="62" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TwoEmployeesMember" xlink:label="loc_duotTwoEmployeesMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_duotTwoEmployeesMember_140" xlink:type="arc" order="142" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember_150" xlink:type="arc" order="151" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="loc_srtCounterpartyNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtCounterpartyNameAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="loc_srtRepurchaseAgreementCounterpartyNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtCounterpartyNameAxis" xlink:to="loc_srtRepurchaseAgreementCounterpartyNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="loc_srtRepurchaseAgreementCounterpartyNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtCounterpartyNameAxis" xlink:to="loc_srtRepurchaseAgreementCounterpartyNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_FourtyEightWarrantsHoldersMember" xlink:label="loc_duotFourtyEightWarrantsHoldersMember_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRepurchaseAgreementCounterpartyNameDomain" xlink:to="loc_duotFourtyEightWarrantsHoldersMember_150" xlink:type="arc" order="152" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SixtyThreeWarrantsHoldersMember" xlink:label="loc_duotSixtyThreeWarrantsHoldersMember_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRepurchaseAgreementCounterpartyNameDomain" xlink:to="loc_duotSixtyThreeWarrantsHoldersMember_170" xlink:type="arc" order="172" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_190" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_190" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockOptionPlanExpense_190" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense_190" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="loc_us-gaapUnamortizedDebtIssuanceExpense_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapUnamortizedDebtIssuanceExpense_190" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_190" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_190" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_190" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:title="995570 - Disclosure - DEFINED CONTRIBUTION PLAN (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetails" xlink:title="995571 - Disclosure - SALE OF ASSETS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:title="995572 - Disclosure - SALE OF ASSETS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:title="995573 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSubsequentEventTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="loc_us-gaapPrivatePlacementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_us-gaapPrivatePlacementMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_NewAccreditedInvestorsMember" xlink:label="loc_duotNewAccreditedInvestorsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotNewAccreditedInvestorsMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDConvertiblePreferredStockMember" xlink:label="loc_duotSeriesDConvertiblePreferredStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesDConvertiblePreferredStockMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEConvertiblePreferredStockMember" xlink:label="loc_duotSeriesEConvertiblePreferredStockMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesEConvertiblePreferredStockMember_10" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember_0" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_30" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:label="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="loc_us-gaapSaleOfStockPricePerShare_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSaleOfStockPricePerShare_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockConsiderationReceivedOnTransaction" xlink:label="loc_us-gaapSaleOfStockConsiderationReceivedOnTransaction_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSaleOfStockConsiderationReceivedOnTransaction_60" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/AwardTypeOnly">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ESPPMember" xlink:label="loc_duotESPPMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_duotESPPMember" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_OptionsMember" xlink:label="loc_duotOptionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_duotOptionsMember" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>12
<FILENAME>duot-20231231_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesAPreferredStockMember" xlink:label="duot_ConvertibleSeriesAPreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleSeriesAPreferredStockMember" xlink:to="duot_ConvertibleSeriesAPreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConvertibleSeriesAPreferredStockMember_lbl" xml:lang="en-US">Convertible Series A Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesBPreferredStockMember" xlink:label="duot_ConvertibleSeriesBPreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleSeriesBPreferredStockMember" xlink:to="duot_ConvertibleSeriesBPreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConvertibleSeriesBPreferredStockMember_lbl" xml:lang="en-US">Convertible Series B Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesCPreferredStockMember" xlink:label="duot_ConvertibleSeriesCPreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleSeriesCPreferredStockMember" xlink:to="duot_ConvertibleSeriesCPreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConvertibleSeriesCPreferredStockMember_lbl" xml:lang="en-US">Convertible Series C Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesDPreferredStockMember" xlink:label="duot_ConvertibleSeriesDPreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleSeriesDPreferredStockMember" xlink:to="duot_ConvertibleSeriesDPreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConvertibleSeriesDPreferredStockMember_lbl" xml:lang="en-US">Convertible Series D Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesEPreferredStockMember" xlink:label="duot_ConvertibleSeriesEPreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleSeriesEPreferredStockMember" xlink:to="duot_ConvertibleSeriesEPreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConvertibleSeriesEPreferredStockMember_lbl" xml:lang="en-US">Convertible Series E Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesFPreferredStockMember" xlink:label="duot_ConvertibleSeriesFPreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleSeriesFPreferredStockMember" xlink:to="duot_ConvertibleSeriesFPreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConvertibleSeriesFPreferredStockMember_lbl" xml:lang="en-US">Convertible Series F Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductMember" xlink:to="us-gaap_ProductMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductMember_lbl" xml:lang="en-US">Product [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ServiceOtherMember" xlink:label="us-gaap_ServiceOtherMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ServiceOtherMember" xlink:to="us-gaap_ServiceOtherMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ServiceOtherMember_lbl" xml:lang="en-US">Service, Other [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockBMember" xlink:label="duot_PreferredStockBMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PreferredStockBMember" xlink:to="duot_PreferredStockBMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PreferredStockBMember_lbl" xml:lang="en-US">Preferred Stock B [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockCMember" xlink:label="duot_PreferredStockCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PreferredStockCMember" xlink:to="duot_PreferredStockCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PreferredStockCMember_lbl" xml:lang="en-US">Preferred Stock C [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockDMember" xlink:label="duot_PreferredStockDMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PreferredStockDMember" xlink:to="duot_PreferredStockDMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PreferredStockDMember_lbl" xml:lang="en-US">Preferred Stock D [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockEMember" xlink:label="duot_PreferredStockEMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PreferredStockEMember" xlink:to="duot_PreferredStockEMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PreferredStockEMember_lbl" xml:lang="en-US">Preferred Stock E [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockFMember" xlink:label="duot_PreferredStockFMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PreferredStockFMember" xlink:to="duot_PreferredStockFMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PreferredStockFMember_lbl" xml:lang="en-US">Preferred Stock F [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock, Common [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer1Member" xlink:label="duot_Customer1Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_Customer1Member" xlink:to="duot_Customer1Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_Customer1Member_lbl" xml:lang="en-US">Customer 1 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer2Member" xlink:label="duot_Customer2Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_Customer2Member" xlink:to="duot_Customer2Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_Customer2Member_lbl" xml:lang="en-US">Customer 2 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer3Member" xlink:label="duot_Customer3Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_Customer3Member" xlink:to="duot_Customer3Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_Customer3Member_lbl" xml:lang="en-US">Customer 3 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer4Member" xlink:label="duot_Customer4Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_Customer4Member" xlink:to="duot_Customer4Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_Customer4Member_lbl" xml:lang="en-US">Customer 4 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CustomerMember" xlink:label="duot_CustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CustomerMember" xlink:to="duot_CustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CustomerMember_lbl" xml:lang="en-US">Customer [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">UNITED STATES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Indefinite-Lived Intangible Assets [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PatentsAndTrademarksMember" xlink:label="duot_PatentsAndTrademarksMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PatentsAndTrademarksMember" xlink:to="duot_PatentsAndTrademarksMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PatentsAndTrademarksMember_lbl" xml:lang="en-US">Patents And Trademarks [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US">Award Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDConvertiblePreferredStockMember" xlink:label="duot_SeriesDConvertiblePreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesDConvertiblePreferredStockMember" xlink:to="duot_SeriesDConvertiblePreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesDConvertiblePreferredStockMember_lbl" xml:lang="en-US">Series D Convertible Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEConvertiblePreferredStockMember" xlink:label="duot_SeriesEConvertiblePreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesEConvertiblePreferredStockMember" xlink:to="duot_SeriesEConvertiblePreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesEConvertiblePreferredStockMember_lbl" xml:lang="en-US">Series E Convertible Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFConvertiblePreferredStockMember" xlink:label="duot_SeriesFConvertiblePreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesFConvertiblePreferredStockMember" xlink:to="duot_SeriesFConvertiblePreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesFConvertiblePreferredStockMember_lbl" xml:lang="en-US">Series F Convertible Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherTypesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:to="us-gaap_PropertyPlantAndEquipmentOtherTypesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherTypesMember_lbl" xml:lang="en-US">Property, Plant and Equipment, Other Types [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquipmentMember" xlink:to="us-gaap_EquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquipmentMember_lbl" xml:lang="en-US">Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SoftwareDevelopmentMember" xlink:to="us-gaap_SoftwareDevelopmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SoftwareDevelopmentMember_lbl" xml:lang="en-US">Software Development [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:label="us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:to="us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_lbl" xml:lang="en-US">Software and Software Development Costs [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl" xml:lang="en-US">Short-Term Debt, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteOneMember" xlink:label="duot_ThirdPartyInsuranceNoteOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThirdPartyInsuranceNoteOneMember" xlink:to="duot_ThirdPartyInsuranceNoteOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ThirdPartyInsuranceNoteOneMember_lbl" xml:lang="en-US">Third Party Insurance Note One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteTwoMember" xlink:label="duot_ThirdPartyInsuranceNoteTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThirdPartyInsuranceNoteTwoMember" xlink:to="duot_ThirdPartyInsuranceNoteTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ThirdPartyInsuranceNoteTwoMember_lbl" xml:lang="en-US">Third Party Insurance Note Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteThreeMember" xlink:label="duot_ThirdPartyInsuranceNoteThreeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThirdPartyInsuranceNoteThreeMember" xlink:to="duot_ThirdPartyInsuranceNoteThreeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ThirdPartyInsuranceNoteThreeMember_lbl" xml:lang="en-US">Third Party Insurance Note Three [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteFourMember" xlink:label="duot_ThirdPartyInsuranceNoteFourMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThirdPartyInsuranceNoteFourMember" xlink:to="duot_ThirdPartyInsuranceNoteFourMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ThirdPartyInsuranceNoteFourMember_lbl" xml:lang="en-US">Third Party Insurance Note Four [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EquipmentFinancingMember" xlink:label="duot_EquipmentFinancingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_EquipmentFinancingMember" xlink:to="duot_EquipmentFinancingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_EquipmentFinancingMember_lbl" xml:lang="en-US">Equipment Financing [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NorthAmericaMember" xlink:to="srt_NorthAmericaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NorthAmericaMember_lbl" xml:lang="en-US">North America [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Segments [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RailMember" xlink:label="duot_RailMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_RailMember" xlink:to="duot_RailMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_RailMember_lbl" xml:lang="en-US">Rail [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CommercialMember" xlink:label="duot_CommercialMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CommercialMember" xlink:to="duot_CommercialMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CommercialMember_lbl" xml:lang="en-US">Commercial [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_GovernmentsMember" xlink:label="duot_GovernmentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_GovernmentsMember" xlink:to="duot_GovernmentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_GovernmentsMember_lbl" xml:lang="en-US">Governments [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ArtificialIntelligenceMember" xlink:label="duot_ArtificialIntelligenceMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ArtificialIntelligenceMember" xlink:to="duot_ArtificialIntelligenceMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ArtificialIntelligenceMember_lbl" xml:lang="en-US">Artificial Intelligence [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TurnkeyProjectsMember" xlink:label="duot_TurnkeyProjectsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_TurnkeyProjectsMember" xlink:to="duot_TurnkeyProjectsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_TurnkeyProjectsMember_lbl" xml:lang="en-US">Turnkey Projects [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_MaintenanceAndSupportMember" xlink:label="duot_MaintenanceAndSupportMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_MaintenanceAndSupportMember" xlink:to="duot_MaintenanceAndSupportMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_MaintenanceAndSupportMember_lbl" xml:lang="en-US">Maintenance And Support [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DataCenterAuditingServicesMember" xlink:label="duot_DataCenterAuditingServicesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_DataCenterAuditingServicesMember" xlink:to="duot_DataCenterAuditingServicesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_DataCenterAuditingServicesMember_lbl" xml:lang="en-US">Data Center Auditing Services [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SoftwareLicenseMember" xlink:label="duot_SoftwareLicenseMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SoftwareLicenseMember" xlink:to="duot_SoftwareLicenseMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SoftwareLicenseMember_lbl" xml:lang="en-US">Software License [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AlgorithmsMember" xlink:label="duot_AlgorithmsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_AlgorithmsMember" xlink:to="duot_AlgorithmsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_AlgorithmsMember_lbl" xml:lang="en-US">Algorithms [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_GoodsTransferredOverTimeMember" xlink:label="duot_GoodsTransferredOverTimeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_GoodsTransferredOverTimeMember" xlink:to="duot_GoodsTransferredOverTimeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_GoodsTransferredOverTimeMember_lbl" xml:lang="en-US">Goods Transferred Over Time [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ServicesTransferredOverTimeMember" xlink:label="duot_ServicesTransferredOverTimeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ServicesTransferredOverTimeMember" xlink:to="duot_ServicesTransferredOverTimeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ServicesTransferredOverTimeMember_lbl" xml:lang="en-US">Services Transferred Over Time [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TwoThousandTwentyOneEquityIncentivePlanMember" xlink:label="duot_TwoThousandTwentyOneEquityIncentivePlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_TwoThousandTwentyOneEquityIncentivePlanMember" xlink:to="duot_TwoThousandTwentyOneEquityIncentivePlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_TwoThousandTwentyOneEquityIncentivePlanMember_lbl" xml:lang="en-US">Two Thousand Twenty One Equity Incentive Plan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis_lbl" xml:lang="en-US">Option Indexed to Issuer's Equity, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesBConvertiblePreferredStockMember" xlink:label="duot_SeriesBConvertiblePreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesBConvertiblePreferredStockMember" xlink:to="duot_SeriesBConvertiblePreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesBConvertiblePreferredStockMember_lbl" xml:lang="en-US">Series B Convertible Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PurchaseAgreementMember" xlink:label="duot_PurchaseAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PurchaseAgreementMember" xlink:to="duot_PurchaseAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PurchaseAgreementMember_lbl" xml:lang="en-US">Purchase Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrivatePlacementMember" xlink:to="us-gaap_PrivatePlacementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrivatePlacementMember_lbl" xml:lang="en-US">Private Placement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThreeDirectorsMember" xlink:label="duot_ThreeDirectorsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThreeDirectorsMember" xlink:to="duot_ThreeDirectorsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ThreeDirectorsMember_lbl" xml:lang="en-US">Three Directors [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_FourDirectorsMember" xlink:label="duot_FourDirectorsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_FourDirectorsMember" xlink:to="duot_FourDirectorsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_FourDirectorsMember_lbl" xml:lang="en-US">Four Directors [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ESPPMember" xlink:label="duot_ESPPMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ESPPMember" xlink:to="duot_ESPPMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ESPPMember_lbl" xml:lang="en-US">E S P P [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="srt_DirectorMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_DirectorMember" xlink:to="srt_DirectorMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_DirectorMember_lbl" xml:lang="en-US">Director [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xml:lang="en-US">Sale of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesDPreferredStockMember" xlink:label="us-gaap_SeriesDPreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeriesDPreferredStockMember" xlink:to="us-gaap_SeriesDPreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SeriesDPreferredStockMember_lbl" xml:lang="en-US">Series D Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EmployeeStockPurchasePlanMember" xlink:label="duot_EmployeeStockPurchasePlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_EmployeeStockPurchasePlanMember" xlink:to="duot_EmployeeStockPurchasePlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_EmployeeStockPurchasePlanMember_lbl" xml:lang="en-US">Employee Stock Purchase Plan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingAxis_lbl" xml:lang="en-US">Vesting [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Tranche One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Tranche Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EmployeesAndDirectorsMember" xlink:label="duot_EmployeesAndDirectorsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_EmployeesAndDirectorsMember" xlink:to="duot_EmployeesAndDirectorsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_EmployeesAndDirectorsMember_lbl" xml:lang="en-US">Employees And Directors [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl" xml:lang="en-US">Related Party Transaction [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ShareholdersOneMember" xlink:label="duot_ShareholdersOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ShareholdersOneMember" xlink:to="duot_ShareholdersOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ShareholdersOneMember_lbl" xml:lang="en-US">Shareholders One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ShareholdersTwoMember" xlink:label="duot_ShareholdersTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ShareholdersTwoMember" xlink:to="duot_ShareholdersTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ShareholdersTwoMember_lbl" xml:lang="en-US">Shareholders Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ManagementMember" xlink:label="srt_ManagementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ManagementMember" xlink:to="srt_ManagementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ManagementMember_lbl" xml:lang="en-US">Management [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_OptionsMember" xlink:label="duot_OptionsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_OptionsMember" xlink:to="duot_OptionsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_OptionsMember_lbl" xml:lang="en-US">Options [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US">Related Party, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_FormerStaffMember" xlink:label="duot_FormerStaffMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_FormerStaffMember" xlink:to="duot_FormerStaffMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_FormerStaffMember_lbl" xml:lang="en-US">Former Staff [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TwoEmployeesMember" xlink:label="duot_TwoEmployeesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_TwoEmployeesMember" xlink:to="duot_TwoEmployeesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_TwoEmployeesMember_lbl" xml:lang="en-US">Two Employees [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantMember" xlink:to="us-gaap_WarrantMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WarrantMember_lbl" xml:lang="en-US">Warrant [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CounterpartyNameAxis_lbl" xml:lang="en-US">Counterparty Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_FourtyEightWarrantsHoldersMember" xlink:label="duot_FourtyEightWarrantsHoldersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_FourtyEightWarrantsHoldersMember" xlink:to="duot_FourtyEightWarrantsHoldersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_FourtyEightWarrantsHoldersMember_lbl" xml:lang="en-US">Fourty Eight Warrants Holders [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SixtyThreeWarrantsHoldersMember" xlink:label="duot_SixtyThreeWarrantsHoldersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SixtyThreeWarrantsHoldersMember" xlink:to="duot_SixtyThreeWarrantsHoldersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SixtyThreeWarrantsHoldersMember_lbl" xml:lang="en-US">Sixty Three Warrants Holders [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_NewAccreditedInvestorsMember" xlink:label="duot_NewAccreditedInvestorsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_NewAccreditedInvestorsMember" xlink:to="duot_NewAccreditedInvestorsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_NewAccreditedInvestorsMember_lbl" xml:lang="en-US">New Accredited Investors [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent Event [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US">Auditor Firm ID</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">&#160;CURRENT ASSETS:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US">&#160;Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">&#160;Accounts receivable, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US">&#160;Contract assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">&#160;Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">&#160;Prepaid expenses and other current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">&#160;Total Current Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">&#160;Property and equipment, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">&#160;Operating lease right of use asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecurityDeposit" xlink:label="us-gaap_SecurityDeposit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecurityDeposit" xlink:to="us-gaap_SecurityDeposit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecurityDeposit_lbl" xml:lang="en-US">&#160;Security deposit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsAbstract" xlink:label="us-gaap_OtherAssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsAbstract_lbl" xml:lang="en-US">&#160;OTHER ASSETS:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:label="us-gaap_NotesAndLoansReceivableNetNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:to="us-gaap_NotesAndLoansReceivableNetNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesAndLoansReceivableNetNoncurrent_lbl" xml:lang="en-US">&#160;Note Receivable, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">&#160;Patents and trademarks, net</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" xlink:label="duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" xlink:to="duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer_lbl" xml:lang="en-US">&#160;Software development costs, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssets" xlink:to="us-gaap_OtherAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherAssets_lbl" xml:lang="en-US">&#160;Total Other Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">&#160;TOTAL ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">&#160;LIABILITIES AND STOCKHOLDERS' EQUITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">&#160;CURRENT LIABILITIES:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">&#160;Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNotesPayableCurrent" xlink:label="us-gaap_OtherNotesPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNotesPayableCurrent" xlink:to="us-gaap_OtherNotesPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNotesPayableCurrent_lbl" xml:lang="en-US">&#160;Notes payable - financing agreements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">&#160;Accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US">&#160;Equipment financing payable-current portion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">&#160;Operating lease obligations-current portion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">&#160;Contract liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">&#160;Total Current Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">&#160;Operating lease obligations, less current portion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">&#160;Total Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">&#160;Commitments and Contingencies (Note 10)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">&#160;STOCKHOLDERS' EQUITY:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred stock, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">&#160;Common stock: $0.001 par value; 500,000,000 shares authorized, 7,306,663 and 7,156,876 shares issued, 7,305,339 and 7,155,552 &#160;shares outstanding at December 31, 2023 and December 31, 2022, respectively</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US">&#160;Additional paid-in-capital</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">&#160;Accumulated deficit</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:label="duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:to="duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit_lbl" xml:lang="en-US">&#160;Sub-total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US">&#160;Less:&#160;&#160;Treasury stock (1,324 shares of common stock at December 31, 2023 and December 31, 2022)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">&#160;Total Stockholders' Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">&#160;Total Liabilities and Stockholders' Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Preferred stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockSharesAvailableToBeDesignated" xlink:label="duot_PreferredStockSharesAvailableToBeDesignated" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PreferredStockSharesAvailableToBeDesignated" xlink:to="duot_PreferredStockSharesAvailableToBeDesignated_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PreferredStockSharesAvailableToBeDesignated_lbl" xml:lang="en-US">Preferred stock, shares designated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Preferred stock, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Preferred stock, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockRedemptionPricePerShare" xlink:label="us-gaap_PreferredStockRedemptionPricePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockRedemptionPricePerShare" xlink:to="us-gaap_PreferredStockRedemptionPricePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockRedemptionPricePerShare_lbl" xml:lang="en-US">Preferred stock, conversion price per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury stock, common shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenuesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesAbstract_lbl" xml:lang="en-US">REVENUES:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Total Revenues</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xml:lang="en-US">COST OF REVENUES:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US">&#160;Total Cost of Revenues</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">GROSS MARGIN</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">OPERATING EXPENSES:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US">&#160;Sales and marketing</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US">&#160;Research and development</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US">&#160;General and Administration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="us-gaap_OperatingCostsAndExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingCostsAndExpenses" xlink:to="us-gaap_OperatingCostsAndExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingCostsAndExpenses_lbl" xml:lang="en-US">&#160;Total Operating Expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">LOSS FROM OPERATIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract_lbl" xml:lang="en-US">OTHER INCOME (EXPENSES):</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US">Interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Other income, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Total Other Income (Expenses)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">NET LOSS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Net loss per share, Basic</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Net loss per share, Diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average shares, Basic</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average shares, Diluted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Beginning balance, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Beginning balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEPreferredStockIssued" xlink:label="duot_SeriesEPreferredStockIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesEPreferredStockIssued" xlink:to="duot_SeriesEPreferredStockIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesEPreferredStockIssued_lbl" xml:lang="en-US">Series E preferred stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEPreferredStockIssuedShares" xlink:label="duot_SeriesEPreferredStockIssuedShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesEPreferredStockIssuedShares" xlink:to="duot_SeriesEPreferredStockIssuedShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesEPreferredStockIssuedShares_lbl" xml:lang="en-US">Series E preferred stock issued, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockIssued" xlink:label="duot_SeriesFPreferredStockIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesFPreferredStockIssued" xlink:to="duot_SeriesFPreferredStockIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesFPreferredStockIssued_lbl" xml:lang="en-US">Series F preferred stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockIssuedShares" xlink:label="duot_SeriesFPreferredStockIssuedShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesFPreferredStockIssuedShares" xlink:to="duot_SeriesFPreferredStockIssuedShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesFPreferredStockIssuedShares_lbl" xml:lang="en-US">Series F preferred stock issued, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockConvertedToSeriesEPreferred" xlink:label="duot_SeriesFPreferredStockConvertedToSeriesEPreferred" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesFPreferredStockConvertedToSeriesEPreferred" xlink:to="duot_SeriesFPreferredStockConvertedToSeriesEPreferred_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesFPreferredStockConvertedToSeriesEPreferred_lbl" xml:lang="en-US">Series F preferred stock exchanged for Series E preferred</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares" xlink:label="duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares" xlink:to="duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares_lbl" xml:lang="en-US">Series F preferred stock converted to Series E preferred, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesCPreferredStockConvertedToCommonStock" xlink:label="duot_SeriesCPreferredStockConvertedToCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesCPreferredStockConvertedToCommonStock" xlink:to="duot_SeriesCPreferredStockConvertedToCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesCPreferredStockConvertedToCommonStock_lbl" xml:lang="en-US">Series C preferred stock converted to common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesCPreferredStockConvertedToCommonStockShares" xlink:label="duot_SeriesCPreferredStockConvertedToCommonStockShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesCPreferredStockConvertedToCommonStockShares" xlink:to="duot_SeriesCPreferredStockConvertedToCommonStockShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesCPreferredStockConvertedToCommonStockShares_lbl" xml:lang="en-US">Series C preferred stock converted to common stock, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesBPreferredStockConvertedToCommonStock" xlink:label="duot_SeriesBPreferredStockConvertedToCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesBPreferredStockConvertedToCommonStock" xlink:to="duot_SeriesBPreferredStockConvertedToCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesBPreferredStockConvertedToCommonStock_lbl" xml:lang="en-US">Series B preferred stock converted to common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesBPreferredStockConvertedToCommonStockShares" xlink:label="duot_SeriesBPreferredStockConvertedToCommonStockShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesBPreferredStockConvertedToCommonStockShares" xlink:to="duot_SeriesBPreferredStockConvertedToCommonStockShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesBPreferredStockConvertedToCommonStockShares_lbl" xml:lang="en-US">Series B preferred stock converted to common stock, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDPreferredStockConvertedToCommonStock" xlink:label="duot_SeriesDPreferredStockConvertedToCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesDPreferredStockConvertedToCommonStock" xlink:to="duot_SeriesDPreferredStockConvertedToCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesDPreferredStockConvertedToCommonStock_lbl" xml:lang="en-US">Series D preferred stock converted to common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDPreferredStockConvertedToCommonStockShares" xlink:label="duot_SeriesDPreferredStockConvertedToCommonStockShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesDPreferredStockConvertedToCommonStockShares" xlink:to="duot_SeriesDPreferredStockConvertedToCommonStockShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesDPreferredStockConvertedToCommonStockShares_lbl" xml:lang="en-US">Series D preferred stock converted to common stock, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Stock options compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueOther" xlink:label="us-gaap_StockIssuedDuringPeriodValueOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueOther" xlink:to="us-gaap_StockIssuedDuringPeriodValueOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueOther_lbl" xml:lang="en-US">Common stock issued for cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesOther" xlink:label="us-gaap_StockIssuedDuringPeriodSharesOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesOther" xlink:to="us-gaap_StockIssuedDuringPeriodSharesOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesOther_lbl" xml:lang="en-US">Common stock issued for cash, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xml:lang="en-US">Stock issuance cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xml:lang="en-US">Stock issued for services</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xml:lang="en-US">Stock issued for services, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" xlink:label="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" xlink:to="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation_lbl" xml:lang="en-US">Stock issued under the Employee Stock Purchase Plan for cash and compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" xlink:label="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" xlink:to="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares_lbl" xml:lang="en-US">Stock issued under the Employee Stock Purchase Plan for cash and compensation, shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_2_lbl" xml:lang="en-US">Net loss</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_3_lbl" xml:lang="en-US">Ending balance, value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_2_lbl" xml:lang="en-US">Ending balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCashFlowsDirectMethodAbstract" xlink:label="us-gaap_OperatingCashFlowsDirectMethodAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingCashFlowsDirectMethodAbstract" xlink:to="us-gaap_OperatingCashFlowsDirectMethodAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingCashFlowsDirectMethodAbstract_lbl" xml:lang="en-US">Cash from operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net loss to net cash used in operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockIssuedForServices" xlink:label="duot_StockIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_StockIssuedForServices" xlink:to="duot_StockIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="duot_StockIssuedForServices_lbl" xml:lang="en-US">Stock issued for services</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xml:lang="en-US">Amortization of operating lease right of use asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract_lbl" xml:lang="en-US">Changes in assets and liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="us-gaap_IncreaseDecreaseInReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInReceivables" xlink:to="us-gaap_IncreaseDecreaseInReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInReceivables_lbl" xml:lang="en-US">&#160;&#160;&#160;Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_IncreaseDecreaseInNotesReceivable" xlink:label="duot_IncreaseDecreaseInNotesReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_IncreaseDecreaseInNotesReceivable" xlink:to="duot_IncreaseDecreaseInNotesReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="duot_IncreaseDecreaseInNotesReceivable_lbl" xml:lang="en-US">&#160;&#160;&#160;Note receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US">&#160;&#160;&#160;Contract assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">&#160;&#160;&#160;Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInSecurityDeposits" xlink:label="us-gaap_IncreaseDecreaseInSecurityDeposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInSecurityDeposits" xlink:to="us-gaap_IncreaseDecreaseInSecurityDeposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInSecurityDeposits_lbl" xml:lang="en-US">&#160;&#160;&#160;Security deposit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xml:lang="en-US">&#160;&#160;&#160;Prepaid expenses and other current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xml:lang="en-US">&#160;&#160;&#160;Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xml:lang="en-US">&#160;&#160;&#160;Accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xml:lang="en-US">&#160;&#160;&#160;Operating lease obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">&#160;&#160;&#160;Contract liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash used in operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from investing activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;Purchase of patents/trademarks</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToDevelopSoftware" xlink:label="us-gaap_PaymentsToDevelopSoftware" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToDevelopSoftware" xlink:to="us-gaap_PaymentsToDevelopSoftware_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToDevelopSoftware_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;Purchase of software development</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;Purchase of fixed assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net cash used in investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from financing activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RepaymentsOfInsuranceAndEquipmentFinancing" xlink:label="duot_RepaymentsOfInsuranceAndEquipmentFinancing" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_RepaymentsOfInsuranceAndEquipmentFinancing" xlink:to="duot_RepaymentsOfInsuranceAndEquipmentFinancing_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="duot_RepaymentsOfInsuranceAndEquipmentFinancing_lbl" xml:lang="en-US">&#160;&#160;&#160;Repayments of insurance and equipment financing</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RepaymentsOfLongTermCapitalLeaseObligation" xlink:label="duot_RepaymentsOfLongTermCapitalLeaseObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_RepaymentsOfLongTermCapitalLeaseObligation" xlink:to="duot_RepaymentsOfLongTermCapitalLeaseObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="duot_RepaymentsOfLongTermCapitalLeaseObligation_lbl" xml:lang="en-US">&#160;&#160;&#160;Repayment of finance lease</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ProceedsFromIssuanceOfCommonStocks" xlink:label="duot_ProceedsFromIssuanceOfCommonStocks" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ProceedsFromIssuanceOfCommonStocks" xlink:to="duot_ProceedsFromIssuanceOfCommonStocks_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ProceedsFromIssuanceOfCommonStocks_lbl" xml:lang="en-US">&#160;&#160;&#160;Proceeds from common stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_IssuanceCosts" xlink:label="duot_IssuanceCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_IssuanceCosts" xlink:to="duot_IssuanceCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="duot_IssuanceCosts_lbl" xml:lang="en-US">&#160;&#160;&#160;Issuance cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" xlink:label="us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" xlink:to="us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans_lbl" xml:lang="en-US">&#160;&#160;&#160;Proceeds from shares issued under Employee Stock Purchase Plan</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:label="us-gaap_ProceedsFromIssuanceOrSaleOfEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:to="us-gaap_ProceedsFromIssuanceOrSaleOfEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOrSaleOfEquity_lbl" xml:lang="en-US">&#160;&#160;&#160;Proceeds from preferred stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net cash provided by financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US">Net increase in cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash, beginning of year</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2_lbl" xml:lang="en-US">Cash, end of year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental Disclosure of Cash Flow Information:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Taxes paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US">Supplemental Non-Cash Investing and Financing Activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesIssued1" xlink:label="us-gaap_NotesIssued1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesIssued1" xlink:to="us-gaap_NotesIssued1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesIssued1_lbl" xml:lang="en-US">Notes issued for financing of insurance premiums</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTable" xlink:label="ecd_PvpTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTable" xlink:to="ecd_PvpTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTable_lbl" xml:lang="en-US">Pay vs Performance Disclosure [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ExecutiveCategoryAxis" xlink:label="ecd_ExecutiveCategoryAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ExecutiveCategoryAxis" xlink:to="ecd_ExecutiveCategoryAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ExecutiveCategoryAxis_lbl" xml:lang="en-US">Executive Category [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis" xlink:label="ecd_IndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_IndividualAxis" xlink:to="ecd_IndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_IndividualAxis_lbl" xml:lang="en-US">Individual [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAxis" xlink:label="ecd_AdjToCompAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAxis" xlink:to="ecd_AdjToCompAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAxis_lbl" xml:lang="en-US">Adjustment to Compensation [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureAxis" xlink:label="ecd_MeasureAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureAxis" xlink:to="ecd_MeasureAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureAxis_lbl" xml:lang="en-US">Measure [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTableTextBlock" xlink:label="ecd_PvpTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTableTextBlock" xlink:to="ecd_PvpTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTableTextBlock_lbl" xml:lang="en-US">Pay vs Performance [Table Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureName" xlink:label="ecd_CoSelectedMeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureName" xlink:to="ecd_CoSelectedMeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureName_lbl" xml:lang="en-US">Company Selected Measure Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NamedExecutiveOfficersFnTextBlock" xlink:to="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xml:lang="en-US">Named Executive Officers, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="ecd_PeerGroupIssuersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupIssuersFnTextBlock" xlink:to="ecd_PeerGroupIssuersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupIssuersFnTextBlock_lbl" xml:lang="en-US">Peer Group Issuers, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="ecd_ChangedPeerGroupFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ChangedPeerGroupFnTextBlock" xlink:to="ecd_ChangedPeerGroupFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ChangedPeerGroupFnTextBlock_lbl" xml:lang="en-US">Changed Peer Group, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoTotalCompAmt" xlink:label="ecd_PeoTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoTotalCompAmt" xlink:to="ecd_PeoTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoTotalCompAmt_lbl" xml:lang="en-US">PEO Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="ecd_PeoActuallyPaidCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoActuallyPaidCompAmt" xlink:to="ecd_PeoActuallyPaidCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoActuallyPaidCompAmt_lbl" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="ecd_AdjToPeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToPeoCompFnTextBlock" xlink:to="ecd_AdjToPeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToPeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment To PEO Compensation, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgTotalCompAmt" xlink:to="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:to="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:to="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:to="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:to="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:to="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Net Income [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:to="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xml:lang="en-US">Total Shareholder Return Vs Peer Group [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Other Measure [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TabularListTableTextBlock" xlink:label="ecd_TabularListTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TabularListTableTextBlock" xlink:to="ecd_TabularListTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TabularListTableTextBlock_lbl" xml:lang="en-US">Tabular List [Table Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnAmt" xlink:label="ecd_TotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnAmt" xlink:to="ecd_TotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnAmt_lbl" xml:lang="en-US">Total Shareholder Return Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupTotalShareholderRtnAmt" xlink:to="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_3_lbl" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureAmt" xlink:label="ecd_CoSelectedMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureAmt" xlink:to="ecd_CoSelectedMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureAmt_lbl" xml:lang="en-US">Company Selected Measure Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OtherPerfMeasureAmt" xlink:label="ecd_OtherPerfMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OtherPerfMeasureAmt" xlink:to="ecd_OtherPerfMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OtherPerfMeasureAmt_lbl" xml:lang="en-US">Other Performance Measure Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAmt" xlink:label="ecd_AdjToCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAmt" xlink:to="ecd_AdjToCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAmt_lbl" xml:lang="en-US">Adjustment to Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoName" xlink:label="ecd_PeoName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoName" xlink:to="ecd_PeoName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoName_lbl" xml:lang="en-US">PEO Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureName" xlink:label="ecd_MeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureName" xlink:to="ecd_MeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureName_lbl" xml:lang="en-US">Measure Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonGaapMeasureDescriptionTextBlock" xlink:to="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xml:lang="en-US">Non-GAAP Measure Description [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="ecd_Additional402vDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Additional402vDisclosureTextBlock" xlink:to="ecd_Additional402vDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Additional402vDisclosureTextBlock_lbl" xml:lang="en-US">Additional 402(v) Disclosure [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompRecoveryTable" xlink:label="ecd_ErrCompRecoveryTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompRecoveryTable" xlink:to="ecd_ErrCompRecoveryTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompRecoveryTable_lbl" xml:lang="en-US">Erroneously Awarded Compensation Recovery [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDateAxis" xlink:label="ecd_RestatementDateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDateAxis" xlink:to="ecd_RestatementDateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDateAxis_lbl" xml:lang="en-US">Restatement Determination Date [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDeterminationDate" xlink:label="ecd_RestatementDeterminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDeterminationDate" xlink:to="ecd_RestatementDeterminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDeterminationDate_lbl" xml:lang="en-US">Restatement Determination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompAmt" xlink:label="ecd_AggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompAmt" xlink:to="ecd_AggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompAmt_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="ecd_ErrCompAnalysisTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompAnalysisTextBlock" xlink:to="ecd_ErrCompAnalysisTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompAnalysisTextBlock_lbl" xml:lang="en-US">Erroneous Compensation Analysis [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:to="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xml:lang="en-US">Stock Price or TSR Estimation Method [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="ecd_OutstandingAggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingAggtErrCompAmt" xlink:to="ecd_OutstandingAggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingAggtErrCompAmt_lbl" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:to="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryIndName" xlink:label="ecd_ForgoneRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryIndName" xlink:to="ecd_ForgoneRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryIndName_lbl" xml:lang="en-US">Forgone Recovery, Individual Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:to="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:to="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:to="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryIndName" xlink:label="ecd_OutstandingRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryIndName" xlink:to="ecd_OutstandingRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryIndName_lbl" xml:lang="en-US">Outstanding Recovery, Individual Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="ecd_OutstandingRecoveryCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryCompAmt" xlink:to="ecd_OutstandingRecoveryCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryCompAmt_lbl" xml:lang="en-US">Outstanding Recovery Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:to="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xml:lang="en-US">Restatement Does Not Require Recovery [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="ecd_AwardsCloseToMnpiDiscTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTable" xlink:to="ecd_AwardsCloseToMnpiDiscTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTable_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="ecd_AwardTmgMnpiDiscTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiDiscTextBlock" xlink:to="ecd_AwardTmgMnpiDiscTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiDiscTextBlock_lbl" xml:lang="en-US">Award Timing MNPI Disclosure [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="ecd_AwardTmgMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMethodTextBlock" xlink:to="ecd_AwardTmgMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMethodTextBlock_lbl" xml:lang="en-US">Award Timing Method [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="ecd_AwardTmgPredtrmndFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgPredtrmndFlag" xlink:to="ecd_AwardTmgPredtrmndFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgPredtrmndFlag_lbl" xml:lang="en-US">Award Timing Predetermined [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiCnsdrdFlag" xlink:to="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xml:lang="en-US">Award Timing MNPI Considered [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:to="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xml:lang="en-US">Award Timing, How MNPI Considered [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="ecd_MnpiDiscTimedForCompValFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MnpiDiscTimedForCompValFlag" xlink:to="ecd_MnpiDiscTimedForCompValFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MnpiDiscTimedForCompValFlag_lbl" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:to="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="ecd_AwardsCloseToMnpiDiscIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscIndName" xlink:to="ecd_AwardsCloseToMnpiDiscIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscIndName_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Individual Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="ecd_AwardUndrlygSecuritiesAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardUndrlygSecuritiesAmt" xlink:to="ecd_AwardUndrlygSecuritiesAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardUndrlygSecuritiesAmt_lbl" xml:lang="en-US">Award Underlying Securities Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardExrcPrice" xlink:label="ecd_AwardExrcPrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardExrcPrice" xlink:to="ecd_AwardExrcPrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardExrcPrice_lbl" xml:lang="en-US">Award Exercise Price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardGrantDateFairValue" xlink:label="ecd_AwardGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardGrantDateFairValue" xlink:to="ecd_AwardGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardGrantDateFairValue_lbl" xml:lang="en-US">Award Grant Date Fair Value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="ecd_UndrlygSecurityMktPriceChngPct" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_UndrlygSecurityMktPriceChngPct" xlink:to="ecd_UndrlygSecurityMktPriceChngPct_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_UndrlygSecurityMktPriceChngPct_lbl" xml:lang="en-US">Underlying Security Market Price Change, Percent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="ecd_InsiderTradingArrLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="ecd_InsiderTradingArrLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTradingArrLineItems_lbl" xml:lang="en-US">Insider Trading Arrangements [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MtrlTermsOfTrdArrTextBlock" xlink:to="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xml:lang="en-US">Material Terms of Trading Arrangement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndName" xlink:label="ecd_TrdArrIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndName" xlink:to="ecd_TrdArrIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndTitle" xlink:label="ecd_TrdArrIndTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndTitle" xlink:to="ecd_TrdArrIndTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndTitle_lbl" xml:lang="en-US">Title</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="ecd_Rule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrAdoptionDate" xlink:label="ecd_TrdArrAdoptionDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrAdoptionDate" xlink:to="ecd_TrdArrAdoptionDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrAdoptionDate_lbl" xml:lang="en-US">Adoption Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="ecd_Rule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrTerminationDate" xlink:label="ecd_TrdArrTerminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrTerminationDate" xlink:to="ecd_TrdArrTerminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrTerminationDate_lbl" xml:lang="en-US">Termination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrDuration" xlink:label="ecd_TrdArrDuration" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrDuration" xlink:to="ecd_TrdArrDuration_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrDuration_lbl" xml:lang="en-US">Arrangement Duration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrSecuritiesAggAvailAmt" xlink:label="ecd_TrdArrSecuritiesAggAvailAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrSecuritiesAggAvailAmt" xlink:to="ecd_TrdArrSecuritiesAggAvailAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrSecuritiesAggAvailAmt_lbl" xml:lang="en-US">Aggregate Available</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="ecd_InsiderTradingPoliciesProcLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTradingPoliciesProcLineItems" xlink:to="ecd_InsiderTradingPoliciesProcLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTradingPoliciesProcLineItems_lbl" xml:lang="en-US">Insider Trading Policies and Procedures [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:to="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Adopted [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:to="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US">NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubstantialDoubtAboutGoingConcernTextBlock" xlink:label="us-gaap_SubstantialDoubtAboutGoingConcernTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubstantialDoubtAboutGoingConcernTextBlock" xlink:to="us-gaap_SubstantialDoubtAboutGoingConcernTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubstantialDoubtAboutGoingConcernTextBlock_lbl" xml:lang="en-US">LIQUIDITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Receivables [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" xml:lang="en-US">ACCOUNTS RECEIVABLE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">PROPERTY AND EQUIPMENT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">PATENTS AND TRADEMARKS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentAbstract" xlink:label="us-gaap_ResearchAndDevelopmentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentAbstract" xlink:to="us-gaap_ResearchAndDevelopmentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentAbstract_lbl" xml:lang="en-US">Research and Development [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" xml:lang="en-US">SOFTWARE DEVELOPMENT COSTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">DEBT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">REVENUES AND CONTRACT ACCOUNTING</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationRelatedCostsAbstract" xlink:label="us-gaap_CompensationRelatedCostsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationRelatedCostsAbstract" xlink:to="us-gaap_CompensationRelatedCostsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationRelatedCostsAbstract_lbl" xml:lang="en-US">Compensation Related Costs [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:label="us-gaap_CompensationRelatedCostsGeneralTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:to="us-gaap_CompensationRelatedCostsGeneralTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationRelatedCostsGeneralTextBlock_lbl" xml:lang="en-US">DEFERRED COMPENSATION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">COMMITMENTS AND CONTINGENCIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">INCOME TAXES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityAbstract_lbl" xml:lang="en-US">Equity [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">STOCKHOLDERS&#8217; EQUITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Share-Based Payment Arrangement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">COMMON STOCK OPTIONS AND WARRANTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US">Retirement Benefits [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanTextBlock" xlink:label="us-gaap_DefinedContributionPlanTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanTextBlock" xlink:to="us-gaap_DefinedContributionPlanTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanTextBlock_lbl" xml:lang="en-US">DEFINED CONTRIBUTION PLAN</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US">Related Party Transactions [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US">RELATED PARTY TRANSACTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DisclosureSaleOfAssetsAbstract" xlink:label="duot_DisclosureSaleOfAssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_DisclosureSaleOfAssetsAbstract" xlink:to="duot_DisclosureSaleOfAssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_DisclosureSaleOfAssetsAbstract_lbl" xml:lang="en-US">Sale Of Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SaleOfAssetsTextBlock" xlink:label="duot_SaleOfAssetsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SaleOfAssetsTextBlock" xlink:to="duot_SaleOfAssetsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SaleOfAssetsTextBlock_lbl" xml:lang="en-US">SALE OF ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">SUBSEQUENT EVENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_NatureOfOperationsPolicyTextBlock" xlink:label="duot_NatureOfOperationsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_NatureOfOperationsPolicyTextBlock" xlink:to="duot_NatureOfOperationsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_NatureOfOperationsPolicyTextBlock_lbl" xml:lang="en-US">Nature of Operations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US">Principles of Consolidation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentrations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xml:lang="en-US">Fair Value of Financial Instruments and Fair Value Measurements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Accounts Receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property and Equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_lbl" xml:lang="en-US">Software Development Costs</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PatentsAndTrademarksPolicyTextBlock" xlink:label="duot_PatentsAndTrademarksPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PatentsAndTrademarksPolicyTextBlock" xlink:to="duot_PatentsAndTrademarksPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PatentsAndTrademarksPolicyTextBlock_lbl" xml:lang="en-US">Patents and Trademarks</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_LonglivedAssetsTextBlock" xlink:label="duot_LonglivedAssetsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_LonglivedAssetsTextBlock" xlink:to="duot_LonglivedAssetsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_LonglivedAssetsTextBlock_lbl" xml:lang="en-US">Long-Lived Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies" xlink:label="us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies" xlink:to="us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies_lbl" xml:lang="en-US">Product Warranties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoanCommitmentsPolicy" xlink:label="us-gaap_LoanCommitmentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoanCommitmentsPolicy" xlink:to="us-gaap_LoanCommitmentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoanCommitmentsPolicy_lbl" xml:lang="en-US">Loan Costs</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SalesReturnPolicyTextBlock" xlink:label="duot_SalesReturnPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SalesReturnPolicyTextBlock" xlink:to="duot_SalesReturnPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SalesReturnPolicyTextBlock_lbl" xml:lang="en-US">Sales Returns</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" xlink:label="duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" xlink:to="duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_lbl" xml:lang="en-US">Multiple Performance Obligations and Allocation of Transaction Price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xml:lang="en-US">Advertising</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:label="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:to="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Stock Based Compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Earnings (Loss) Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US">Leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recent Accounting Pronouncements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of estimated future depreciation expense of software</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of patents and trademarks</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock" xlink:label="duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock" xlink:to="duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock_lbl" xml:lang="en-US">Schedule of software development costs</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_2_lbl" xml:lang="en-US">Schedule of estimated future amortization expense of software</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US">Schedule of notes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock" xlink:label="duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock" xlink:to="duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_lbl" xml:lang="en-US">Schedule of contract assets on uncompleted contracts</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock" xlink:label="duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock" xlink:to="duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_lbl" xml:lang="en-US">Schedule of contract liabilities on uncompleted contracts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US">Schedule of disaggregation of revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock" xlink:label="duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock" xlink:to="duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_lbl" xml:lang="en-US">Schedule of supplemental information related to leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of future minimum lease payments due under the operating lease</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of difference between income taxes at effective statutory rate and provision for income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of net deferred tax assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of options activity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted- average assumptions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:label="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:to="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_lbl" xml:lang="en-US">Schedule of warrants outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ScheduleOfNoteReceivableTableTextBlock" xlink:label="duot_ScheduleOfNoteReceivableTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ScheduleOfNoteReceivableTableTextBlock" xlink:to="duot_ScheduleOfNoteReceivableTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ScheduleOfNoteReceivableTableTextBlock_lbl" xml:lang="en-US">Schedule of note receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="us-gaap_ScheduleOfProductInformationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductInformationTable" xlink:to="us-gaap_ScheduleOfProductInformationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductInformationTable_lbl" xml:lang="en-US">Schedule of Product Information [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductInformationLineItems" xlink:label="us-gaap_ProductInformationLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductInformationLineItems" xlink:to="us-gaap_ProductInformationLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductInformationLineItems_lbl" xml:lang="en-US">Product Information [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashUninsuredAmount" xlink:label="us-gaap_CashUninsuredAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashUninsuredAmount" xlink:to="us-gaap_CashUninsuredAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashUninsuredAmount_lbl" xml:lang="en-US">Federally insured limits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration risk, percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Estimated economic life of the property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ProductWarrantyPeriod" xlink:label="duot_ProductWarrantyPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ProductWarrantyPeriod" xlink:to="duot_ProductWarrantyPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ProductWarrantyPeriod_lbl" xml:lang="en-US">Product warranty Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="us-gaap_AdvertisingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvertisingExpense_lbl" xml:lang="en-US">Advertising costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightOutstanding" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding_lbl" xml:lang="en-US">Outstanding warrants</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" xlink:to="duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_lbl" xml:lang="en-US">Number of incentive stock options</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConversionOfStockSharesConverted" xlink:label="duot_ConversionOfStockSharesConverted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConversionOfStockSharesConverted" xlink:to="duot_ConversionOfStockSharesConverted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConversionOfStockSharesConverted_lbl" xml:lang="en-US">Common shares issuable conversion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net loss</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WorkingCapitalSurplus" xlink:label="duot_WorkingCapitalSurplus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_WorkingCapitalSurplus" xlink:to="duot_WorkingCapitalSurplus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_WorkingCapitalSurplus_lbl" xml:lang="en-US">Working capital surplus</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_2_lbl" xml:lang="en-US">Accumulated deficit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGross" xlink:to="us-gaap_AccountsReceivableGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGross_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xml:lang="en-US">Allowance for doubtful accounts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US">Accounts Receivable, Net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Accumulated Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xml:lang="en-US">Property, Equipment and Software, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation Expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Finite lived intangible assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_2_lbl" xml:lang="en-US">Depreciation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Patents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Accumulated Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xml:lang="en-US">Patent, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="us-gaap_CapitalizedComputerSoftwareGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedComputerSoftwareGross" xlink:to="us-gaap_CapitalizedComputerSoftwareGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalizedComputerSoftwareGross_lbl" xml:lang="en-US">Software Development</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConstructionInProgress" xlink:label="duot_ConstructionInProgress" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConstructionInProgress" xlink:to="duot_ConstructionInProgress_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConstructionInProgress_lbl" xml:lang="en-US">Construction in Progress</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:label="us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:to="us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_lbl" xml:lang="en-US">Accumulated amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SoftwareDevelopmentCostsNet" xlink:label="duot_SoftwareDevelopmentCostsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SoftwareDevelopmentCostsNet" xlink:to="duot_SoftwareDevelopmentCostsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SoftwareDevelopmentCostsNet_lbl" xml:lang="en-US">Software Development, net</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AmortizationOfIntangibleAssets1" xlink:label="duot_AmortizationOfIntangibleAssets1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_AmortizationOfIntangibleAssets1" xlink:to="duot_AmortizationOfIntangibleAssets1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_AmortizationOfIntangibleAssets1_lbl" xml:lang="en-US">Amortization of software development costs</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DepreciationOfSoftwareCost" xlink:label="duot_DepreciationOfSoftwareCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_DepreciationOfSoftwareCost" xlink:to="duot_DepreciationOfSoftwareCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_DepreciationOfSoftwareCost_lbl" xml:lang="en-US">Depreciation of software cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="us-gaap_ScheduleOfShortTermDebtTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShortTermDebtTable" xlink:to="us-gaap_ScheduleOfShortTermDebtTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShortTermDebtTable_lbl" xml:lang="en-US">Schedule of Short-Term Debt [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="us-gaap_ShortTermDebtLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtLineItems" xlink:to="us-gaap_ShortTermDebtLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtLineItems_lbl" xml:lang="en-US">Short-Term Debt [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNotesPayableCurrent" xlink:to="us-gaap_OtherNotesPayableCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherNotesPayableCurrent_2_lbl" xml:lang="en-US">Notes payable, Principal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtPercentageBearingFixedInterestRate" xlink:label="us-gaap_LongTermDebtPercentageBearingFixedInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtPercentageBearingFixedInterestRate" xlink:to="us-gaap_LongTermDebtPercentageBearingFixedInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtPercentageBearingFixedInterestRate_lbl" xml:lang="en-US">Notes payable, Interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesPayable" xlink:label="us-gaap_NotesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesPayable" xlink:to="us-gaap_NotesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesPayable_lbl" xml:lang="en-US">Notes payable outstanding balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFixedInterestRate" xlink:to="us-gaap_DerivativeFixedInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeFixedInterestRate_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="us-gaap_DebtInstrumentPeriodicPayment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentPeriodicPayment" xlink:to="us-gaap_DebtInstrumentPeriodicPayment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentPeriodicPayment_lbl" xml:lang="en-US">Monthly installments of principal and interest</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PurchaseOfInsurancePolicy" xlink:label="duot_PurchaseOfInsurancePolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PurchaseOfInsurancePolicy" xlink:to="duot_PurchaseOfInsurancePolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PurchaseOfInsurancePolicy_lbl" xml:lang="en-US">Purchase of an insurance policy</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DownPaymentPaid" xlink:label="duot_DownPaymentPaid" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_DownPaymentPaid" xlink:to="duot_DownPaymentPaid_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_DownPaymentPaid_lbl" xml:lang="en-US">Down payment paid</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_InsuranceMonthlyInstallments" xlink:label="duot_InsuranceMonthlyInstallments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_InsuranceMonthlyInstallments" xlink:to="duot_InsuranceMonthlyInstallments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_InsuranceMonthlyInstallments_lbl" xml:lang="en-US">Insurance monthly installments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDepositsWithOtherInstitutions" xlink:label="us-gaap_ProceedsFromDepositsWithOtherInstitutions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromDepositsWithOtherInstitutions" xlink:to="us-gaap_ProceedsFromDepositsWithOtherInstitutions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromDepositsWithOtherInstitutions_lbl" xml:lang="en-US">Received refund</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CostsAndEstimatedEarningsRecognized" xlink:label="duot_CostsAndEstimatedEarningsRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CostsAndEstimatedEarningsRecognized" xlink:to="duot_CostsAndEstimatedEarningsRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CostsAndEstimatedEarningsRecognized_lbl" xml:lang="en-US">Cumulative revenues recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_BillingsOrCashReceived" xlink:label="duot_BillingsOrCashReceived" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_BillingsOrCashReceived" xlink:to="duot_BillingsOrCashReceived_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="duot_BillingsOrCashReceived_lbl" xml:lang="en-US">Less: Billings or cash received</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_2_lbl" xml:lang="en-US">Contract Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_BillingsAndorCashReceiptsOnUncompletedContracts" xlink:label="duot_BillingsAndorCashReceiptsOnUncompletedContracts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_BillingsAndorCashReceiptsOnUncompletedContracts" xlink:to="duot_BillingsAndorCashReceiptsOnUncompletedContracts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_BillingsAndorCashReceiptsOnUncompletedContracts_lbl" xml:lang="en-US">Billings and/or cash receipts on uncompleted contracts</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CostAndEstimatedEarningsRecognized" xlink:label="duot_CostAndEstimatedEarningsRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CostAndEstimatedEarningsRecognized" xlink:to="duot_CostAndEstimatedEarningsRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="duot_CostAndEstimatedEarningsRecognized_lbl" xml:lang="en-US">Less: Cumulative revenues</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ContractLiabilitiesTechnologiesSystems" xlink:label="duot_ContractLiabilitiesTechnologiesSystems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ContractLiabilitiesTechnologiesSystems" xlink:to="duot_ContractLiabilitiesTechnologiesSystems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="duot_ContractLiabilitiesTechnologiesSystems_lbl" xml:lang="en-US">Contract liabilities, technology systems</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ContractLiabilitiesServicesAndConsulting" xlink:label="duot_ContractLiabilitiesServicesAndConsulting" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ContractLiabilitiesServicesAndConsulting" xlink:to="duot_ContractLiabilitiesServicesAndConsulting_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ContractLiabilitiesServicesAndConsulting_lbl" xml:lang="en-US">Contract Liabilities, services and consulting</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US">Total Contract Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Revenue</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_2_lbl" xml:lang="en-US">Contract liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ContractLiabilitiesTechnologiesSystems" xlink:to="duot_ContractLiabilitiesTechnologiesSystems_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ContractLiabilitiesTechnologiesSystems_2_lbl" xml:lang="en-US">Contract liabilities, technology systems</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ServicesAndConsultingRecognized" xlink:label="duot_ServicesAndConsultingRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ServicesAndConsultingRecognized" xlink:to="duot_ServicesAndConsultingRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ServicesAndConsultingRecognized_lbl" xml:lang="en-US">Services and consulting recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationLiabilityCurrent" xlink:label="us-gaap_DeferredCompensationLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationLiabilityCurrent" xlink:to="us-gaap_DeferredCompensationLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationLiabilityCurrent_lbl" xml:lang="en-US">Accrued deferred compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US">Operating lease cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xml:lang="en-US">Short term lease Cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRent" xlink:label="us-gaap_PaymentsForRent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRent" xlink:to="us-gaap_PaymentsForRent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRent_lbl" xml:lang="en-US">Operating cash outflow used for operating leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Weighted average discount rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Weighted average remaining lease term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">2028</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US">&#160;&#160;&#160;Thereafter</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Total undiscounted future minimum lease payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less: Impact of discounting</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Total present value of operating lease obligation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;Current portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_2_lbl" xml:lang="en-US">Operating lease obligation, less current portion</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AreaOfLease" xlink:label="duot_AreaOfLease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_AreaOfLease" xlink:to="duot_AreaOfLease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_AreaOfLease_lbl" xml:lang="en-US">Area of lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xml:lang="en-US">Accumulated amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RentableSpace" xlink:label="duot_RentableSpace" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_RentableSpace" xlink:to="duot_RentableSpace_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_RentableSpace_lbl" xml:lang="en-US">Rentable space</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecurityDepositLiability" xlink:label="us-gaap_SecurityDepositLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecurityDepositLiability" xlink:to="us-gaap_SecurityDepositLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecurityDepositLiability_lbl" xml:lang="en-US">Security deposit payment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecurityDeposit" xlink:to="us-gaap_SecurityDeposit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SecurityDeposit_2_lbl" xml:lang="en-US">Security deposit value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Income tax benefit at U.S. statutory rate of 21%</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl" xml:lang="en-US">Non-deductible expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Change in valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Total provision for income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Net operating loss carryforward</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:to="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets_lbl" xml:lang="en-US">Intangible assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Gross deferred tax assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Net deferred tax assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Gross operating loss carry forward</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xml:lang="en-US">Increase in valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxCreditCarryforwardAmount" xlink:to="us-gaap_TaxCreditCarryforwardAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TaxCreditCarryforwardAmount_lbl" xml:lang="en-US">Net operating loss carryforward</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" xlink:label="duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" xlink:to="duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations_lbl" xml:lang="en-US">Potential tax benefit arising from net operating loss carryforward</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ScheduleOfStockByClassTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ClassOfStockLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xml:lang="en-US">Class of Stock [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Issuance of Common stock under Awards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US">Shares available for grant</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward_lbl" xml:lang="en-US">Common stock on the date of grant, term of the stock option</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockVotingRights" xlink:label="us-gaap_CommonStockVotingRights" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockVotingRights" xlink:to="us-gaap_CommonStockVotingRights_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockVotingRights_lbl" xml:lang="en-US">Voting rights</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AggregateFairMarketValueOfOurCommonStockNotExceed" xlink:label="duot_AggregateFairMarketValueOfOurCommonStockNotExceed" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_AggregateFairMarketValueOfOurCommonStockNotExceed" xlink:to="duot_AggregateFairMarketValueOfOurCommonStockNotExceed_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_AggregateFairMarketValueOfOurCommonStockNotExceed_lbl" xml:lang="en-US">Aggregate fair market value of common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConversionOfStockAmountConverted1" xlink:label="us-gaap_ConversionOfStockAmountConverted1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConversionOfStockAmountConverted1" xlink:to="us-gaap_ConversionOfStockAmountConverted1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConversionOfStockAmountConverted1_lbl" xml:lang="en-US">Conversion of stock, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xml:lang="en-US">Conversion price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockVotingRights" xlink:label="us-gaap_PreferredStockVotingRights" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockVotingRights" xlink:to="us-gaap_PreferredStockVotingRights_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockVotingRights_lbl" xml:lang="en-US">Preferred stock voting rights</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock" xlink:label="us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock" xlink:to="us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock_lbl" xml:lang="en-US">Proceeds from convertible preferred stock</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesCPreferredConvertedToCommonStockShares" xlink:label="duot_SeriesCPreferredConvertedToCommonStockShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesCPreferredConvertedToCommonStockShares" xlink:to="duot_SeriesCPreferredConvertedToCommonStockShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesCPreferredConvertedToCommonStockShares_lbl" xml:lang="en-US">Series C preferred converted to common stock shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockConvertibleConversionPrice" xlink:label="us-gaap_PreferredStockConvertibleConversionPrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockConvertibleConversionPrice" xlink:to="us-gaap_PreferredStockConvertibleConversionPrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockConvertibleConversionPrice_lbl" xml:lang="en-US">Conversion price</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEPreferredConvertiblePreferredStockShares" xlink:label="duot_SeriesEPreferredConvertiblePreferredStockShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesEPreferredConvertiblePreferredStockShares" xlink:to="duot_SeriesEPreferredConvertiblePreferredStockShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesEPreferredConvertiblePreferredStockShares_lbl" xml:lang="en-US">Series E preferred convertible preferred stock, Shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssued" xlink:to="us-gaap_SharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesIssued_lbl" xml:lang="en-US">Additional shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US">Share price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="us-gaap_SharesIssuedPricePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssuedPricePerShare" xlink:to="us-gaap_SharesIssuedPricePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesIssuedPricePerShare_lbl" xml:lang="en-US">Price per common share</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockExchangeShares" xlink:label="duot_StockExchangeShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_StockExchangeShares" xlink:to="duot_StockExchangeShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_StockExchangeShares_lbl" xml:lang="en-US">Exchange of shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredConvertiblePreferredStockShares" xlink:label="duot_SeriesFPreferredConvertiblePreferredStockShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesFPreferredConvertiblePreferredStockShares" xlink:to="duot_SeriesFPreferredConvertiblePreferredStockShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SeriesFPreferredConvertiblePreferredStockShares_lbl" xml:lang="en-US">Series F preferred convertible preferred stock, Shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalUnitsOutstanding" xlink:label="us-gaap_CapitalUnitsOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalUnitsOutstanding" xlink:to="us-gaap_CapitalUnitsOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalUnitsOutstanding_lbl" xml:lang="en-US">Shares outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_2_lbl" xml:lang="en-US">Stock issued for services , shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_2_lbl" xml:lang="en-US">Stock issued for services , value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_lbl" xml:lang="en-US">Weighted average price per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP" xlink:to="us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP_lbl" xml:lang="en-US">Total employee participation amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Stock-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_lbl" xml:lang="en-US">Accrued liability</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConversionOfStockSharesIssued" xlink:label="duot_ConversionOfStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConversionOfStockSharesIssued" xlink:to="duot_ConversionOfStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConversionOfStockSharesIssued_lbl" xml:lang="en-US">Conversion of shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockConvertibleConversionPriceIncrease" xlink:label="us-gaap_CommonStockConvertibleConversionPriceIncrease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockConvertibleConversionPriceIncrease" xlink:to="us-gaap_CommonStockConvertibleConversionPriceIncrease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockConvertibleConversionPriceIncrease_lbl" xml:lang="en-US">Conversion price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Number of shares issued, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US">Number of shares issued, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:to="us-gaap_ProceedsFromIssuanceInitialPublicOffering_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering_lbl" xml:lang="en-US">Proceeds from offering cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockIssuedEmployeeTrustDeferred" xlink:label="us-gaap_CommonStockIssuedEmployeeTrustDeferred" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockIssuedEmployeeTrustDeferred" xlink:to="us-gaap_CommonStockIssuedEmployeeTrustDeferred_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockIssuedEmployeeTrustDeferred_lbl" xml:lang="en-US">Aggregate common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="us-gaap_SaleOfStockPricePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockPricePerShare" xlink:to="us-gaap_SaleOfStockPricePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockPricePerShare_lbl" xml:lang="en-US">Services per share</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertedToCommonStockShares" xlink:label="duot_ConvertedToCommonStockShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertedToCommonStockShares" xlink:to="duot_ConvertedToCommonStockShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConvertedToCommonStockShares_lbl" xml:lang="en-US">Converted to common stock shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement" xlink:label="us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement" xlink:to="us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement_lbl" xml:lang="en-US">Private placement sold</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesOther" xlink:to="us-gaap_StockIssuedDuringPeriodSharesOther_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesOther_2_lbl" xml:lang="en-US">Number of shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:label="us-gaap_ProceedsFromIssuanceOfPrivatePlacement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:to="us-gaap_ProceedsFromIssuanceOfPrivatePlacement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfPrivatePlacement_lbl" xml:lang="en-US">Gross proceeds private placement</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AccruedOfferingCosts" xlink:label="duot_AccruedOfferingCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_AccruedOfferingCosts" xlink:to="duot_AccruedOfferingCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_AccruedOfferingCosts_lbl" xml:lang="en-US">Accrued offering costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredOfferingCosts" xlink:label="us-gaap_DeferredOfferingCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredOfferingCosts" xlink:to="us-gaap_DeferredOfferingCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredOfferingCosts_lbl" xml:lang="en-US">Offering costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xml:lang="en-US">Plan, term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_lbl" xml:lang="en-US">Plan, description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Maximum aggregate number of shares of common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_lbl" xml:lang="en-US">Issued shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_lbl" xml:lang="en-US">Employee contributions</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" xlink:label="duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" xlink:to="duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_lbl" xml:lang="en-US">Total compensation cost for stock options</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Vesting term</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_2_lbl" xml:lang="en-US">Treasury stock shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonValue_2_lbl" xml:lang="en-US">Treasury stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US">Repurchase of common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare" xlink:label="us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare" xlink:to="us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare_lbl" xml:lang="en-US">Market value of stock repurchased</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Shares outstanding at beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price outstanding at beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted average remaining contractual term (years) outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value outstanding at beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Shares, granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, granted</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" xlink:label="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" xlink:to="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted average remaining contractual term (years), granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xml:lang="en-US">Shares, forfeited</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, forfeited</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xml:lang="en-US">Shares outstanding at end</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Weighted average exercise price outstanding at end</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_2_lbl" xml:lang="en-US">Aggregate intrinsic value outstanding at end</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Shares, exercisable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, exercisable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted average remaining contractual term (years) exercisable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Aggregate intrinsic value exercisable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Shares, exercised/forfeited</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, exercised/forfeited</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Risk free interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected term in years</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Dividend yield</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Volatility of common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted average grant date fair value per option</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightOutstanding" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding_2_lbl" xml:lang="en-US">Number of warrants outstanding at beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_lbl" xml:lang="en-US">Weighted average exercise price outstanding at beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted average remaining contractual term (years)</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WarrantsExpiredForfeitedCancelledOrExercised" xlink:label="duot_WarrantsExpiredForfeitedCancelledOrExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_WarrantsExpiredForfeitedCancelledOrExercised" xlink:to="duot_WarrantsExpiredForfeitedCancelledOrExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_WarrantsExpiredForfeitedCancelledOrExercised_lbl" xml:lang="en-US">Warrants expired, forfeited, cancelled or exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" xlink:label="duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" xlink:to="duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_lbl" xml:lang="en-US">Weighted average exercise price, warrants expired, forfeited, cancelled or exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConversionOfStockSharesIssued1" xlink:label="us-gaap_ConversionOfStockSharesIssued1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConversionOfStockSharesIssued1" xlink:to="us-gaap_ConversionOfStockSharesIssued1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConversionOfStockSharesIssued1_lbl" xml:lang="en-US">Warrants issued</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice" xlink:label="duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice" xlink:to="duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, warrants issued</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightOutstanding" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding_3_lbl" xml:lang="en-US">Number of warrants outstanding at end</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_2_lbl" xml:lang="en-US">Weighted average exercise price outstanding at end</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xml:lang="en-US">Number of warrants, exercisable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_2_lbl" xml:lang="en-US">Weighted average remaining contractual term (years), exercisable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_2_lbl" xml:lang="en-US">Aggregate intrinsic value, exercisable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xml:lang="en-US">Stock option granted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_3_lbl" xml:lang="en-US">Strike price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Stock option plan expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnamortizedDebtIssuanceExpense" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense_lbl" xml:lang="en-US">Unamortized expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Total compensation cost for stock options not yet recognized, period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US">Non-qualified stock options, forfeited</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xml:lang="en-US">Shares expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanServiceCost" xlink:label="us-gaap_DefinedBenefitPlanServiceCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanServiceCost" xlink:to="us-gaap_DefinedBenefitPlanServiceCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_lbl" xml:lang="en-US">Cash contributions</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleNoteReceivable" xlink:label="duot_ConvertibleNoteReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleNoteReceivable" xlink:to="duot_ConvertibleNoteReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConvertibleNoteReceivable_lbl" xml:lang="en-US">Convertible note receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xml:lang="en-US">Unamortized discount</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleNoteReceivableNet" xlink:label="duot_ConvertibleNoteReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleNoteReceivableNet" xlink:to="duot_ConvertibleNoteReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_ConvertibleNoteReceivableNet_lbl" xml:lang="en-US">Convertible note receivable, net</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PrincipalAmount" xlink:label="duot_PrincipalAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PrincipalAmount" xlink:to="duot_PrincipalAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PrincipalAmount_lbl" xml:lang="en-US">Principal amount</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_OriginalIssueDiscount" xlink:label="duot_OriginalIssueDiscount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_OriginalIssueDiscount" xlink:to="duot_OriginalIssueDiscount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_OriginalIssueDiscount_lbl" xml:lang="en-US">Original issue discount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsShares" xlink:label="us-gaap_CommonStockDividendsShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsShares" xlink:to="us-gaap_CommonStockDividendsShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsShares_lbl" xml:lang="en-US">Common stock shares</link:label>
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PurchaseOfCommonStockWarrants" xlink:label="duot_PurchaseOfCommonStockWarrants" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PurchaseOfCommonStockWarrants" xlink:to="duot_PurchaseOfCommonStockWarrants_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_PurchaseOfCommonStockWarrants_lbl" xml:lang="en-US">Purchase of common stock warrants</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantExercisePriceIncrease" xlink:label="us-gaap_WarrantExercisePriceIncrease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantExercisePriceIncrease" xlink:to="us-gaap_WarrantExercisePriceIncrease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WarrantExercisePriceIncrease_lbl" xml:lang="en-US">Exercise price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:to="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges_lbl" xml:lang="en-US">Sale of asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTable_lbl" xml:lang="en-US">Subsequent Event [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:label="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:to="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_lbl" xml:lang="en-US">Sale of Stock, Number of Shares Issued in Transaction</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockPricePerShare" xlink:to="us-gaap_SaleOfStockPricePerShare_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SaleOfStockPricePerShare_2_lbl" xml:lang="en-US">Sale of Stock, Price Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockConsiderationReceivedOnTransaction" xlink:label="us-gaap_SaleOfStockConsiderationReceivedOnTransaction" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockConsiderationReceivedOnTransaction" xlink:to="us-gaap_SaleOfStockConsiderationReceivedOnTransaction_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockConsiderationReceivedOnTransaction_lbl" xml:lang="en-US">Sale of Stock, Consideration Received on Transaction</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleSeriesBPreferredStockMember" xlink:to="duot_ConvertibleSeriesBPreferredStockMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ConvertibleSeriesBPreferredStockMember_doc" xml:lang="en-US">Series B Convertible Preferred Stock [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PreferredStockSharesAvailableToBeDesignated" xlink:to="duot_PreferredStockSharesAvailableToBeDesignated_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_PreferredStockSharesAvailableToBeDesignated_doc" xml:lang="en-US">Number of shares of preferred stock which are available to be designated.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ConvertibleSeriesAPreferredStockMember" xlink:to="duot_ConvertibleSeriesAPreferredStockMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ConvertibleSeriesAPreferredStockMember_doc" xml:lang="en-US">Series A Convertible Preferred Stock [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PatentsAndTrademarksMember" xlink:to="duot_PatentsAndTrademarksMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_PatentsAndTrademarksMember_doc" xml:lang="en-US">Patents and trademarks member.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ProductWarrantyPeriod" xlink:to="duot_ProductWarrantyPeriod_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ProductWarrantyPeriod_doc" xml:lang="en-US">Product warranty Period.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_AmortizationOfIntangibleAssets1" xlink:to="duot_AmortizationOfIntangibleAssets1_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_AmortizationOfIntangibleAssets1_doc" xml:lang="en-US">The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThirdPartyInsuranceNoteOneMember" xlink:to="duot_ThirdPartyInsuranceNoteOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ThirdPartyInsuranceNoteOneMember_doc" xml:lang="en-US">Third party insurance note one member.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThirdPartyInsuranceNoteTwoMember" xlink:to="duot_ThirdPartyInsuranceNoteTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ThirdPartyInsuranceNoteTwoMember_doc" xml:lang="en-US">Third party insurance note two member.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThirdPartyInsuranceNoteThreeMember" xlink:to="duot_ThirdPartyInsuranceNoteThreeMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ThirdPartyInsuranceNoteThreeMember_doc" xml:lang="en-US">Third party insurance note three member.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ThirdPartyInsuranceNoteFourMember" xlink:to="duot_ThirdPartyInsuranceNoteFourMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ThirdPartyInsuranceNoteFourMember_doc" xml:lang="en-US">Third party insurance note four member.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CostsAndEstimatedEarningsRecognized" xlink:to="duot_CostsAndEstimatedEarningsRecognized_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_CostsAndEstimatedEarningsRecognized_doc" xml:lang="en-US">Costs and estimated earnings recognized.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_BillingsOrCashReceived" xlink:to="duot_BillingsOrCashReceived_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_BillingsOrCashReceived_doc" xml:lang="en-US">Billings or cash received.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_BillingsAndorCashReceiptsOnUncompletedContracts" xlink:to="duot_BillingsAndorCashReceiptsOnUncompletedContracts_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_BillingsAndorCashReceiptsOnUncompletedContracts_doc" xml:lang="en-US">Costs and estimated earnings recognized.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CostAndEstimatedEarningsRecognized" xlink:to="duot_CostAndEstimatedEarningsRecognized_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_CostAndEstimatedEarningsRecognized_doc" xml:lang="en-US">Costs and estimated earnings recognized.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_RailMember" xlink:to="duot_RailMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_RailMember_doc" xml:lang="en-US">Rail [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CommercialMember" xlink:to="duot_CommercialMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_CommercialMember_doc" xml:lang="en-US">Commercial [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_TurnkeyProjectsMember" xlink:to="duot_TurnkeyProjectsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_TurnkeyProjectsMember_doc" xml:lang="en-US">Turnkey Projects [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_GoodsTransferredOverTimeMember" xlink:to="duot_GoodsTransferredOverTimeMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_GoodsTransferredOverTimeMember_doc" xml:lang="en-US">Goods transferred over time [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ServicesTransferredOverTimeMember" xlink:to="duot_ServicesTransferredOverTimeMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ServicesTransferredOverTimeMember_doc" xml:lang="en-US">Services transferred over time [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" xlink:to="duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations_doc" xml:lang="en-US">Potential tax benefit arising from net operating loss carryforward within annual usage limitations.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_AggregateFairMarketValueOfOurCommonStockNotExceed" xlink:to="duot_AggregateFairMarketValueOfOurCommonStockNotExceed_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_AggregateFairMarketValueOfOurCommonStockNotExceed_doc" xml:lang="en-US">Aggregate fair market value of common stock threshold.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_SeriesBConvertiblePreferredStockMember" xlink:to="duot_SeriesBConvertiblePreferredStockMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_SeriesBConvertiblePreferredStockMember_doc" xml:lang="en-US">Series B Convertible Preferred Stock [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_EmployeesAndDirectorsMember" xlink:to="duot_EmployeesAndDirectorsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_EmployeesAndDirectorsMember_doc" xml:lang="en-US">Employees and directors [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ShareholdersOneMember" xlink:to="duot_ShareholdersOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ShareholdersOneMember_doc" xml:lang="en-US">Shareholder [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_ShareholdersTwoMember" xlink:to="duot_ShareholdersTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="duot_ShareholdersTwoMember_doc" xml:lang="en-US">Shareholder [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_2_lbl" xml:lang="en-US">Assets, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssets" xlink:to="us-gaap_OtherAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssets_2_lbl" xml:lang="en-US">Other Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_2_lbl" xml:lang="en-US">Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_2_lbl" xml:lang="en-US">Liabilities, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_2_lbl" xml:lang="en-US">Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:to="duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit_2_lbl" xml:lang="en-US">TotalStockAndPaidInCapitalAndRetainedEarningsDeficit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_4_lbl" xml:lang="en-US">Equity, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xml:lang="en-US">Liabilities and Equity</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_2_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingCostsAndExpenses" xlink:to="us-gaap_OperatingCostsAndExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingCostsAndExpenses_2_lbl" xml:lang="en-US">Operating Costs and Expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_2_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_2_lbl" xml:lang="en-US">Interest Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_2_lbl" xml:lang="en-US">Nonoperating Income (Expense)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_3_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_2_lbl" xml:lang="en-US">Payments of Stock Issuance Costs</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_StockIssuedForServices" xlink:to="duot_StockIssuedForServices_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_StockIssuedForServices_2_lbl" xml:lang="en-US">StockIssuedForServices</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInReceivables" xlink:to="us-gaap_IncreaseDecreaseInReceivables_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInReceivables_2_lbl" xml:lang="en-US">Increase (Decrease) in Receivables</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_IncreaseDecreaseInNotesReceivable" xlink:to="duot_IncreaseDecreaseInNotesReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_IncreaseDecreaseInNotesReceivable_2_lbl" xml:lang="en-US">IncreaseDecreaseInNotesReceivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_2_lbl" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Asset</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_2_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xml:lang="en-US">Increase (Decrease) in Prepaid Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_2_lbl" xml:lang="en-US">Payments to Acquire Intangible Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToDevelopSoftware" xlink:to="us-gaap_PaymentsToDevelopSoftware_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToDevelopSoftware_2_lbl" xml:lang="en-US">Payments to Develop Software</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_RepaymentsOfInsuranceAndEquipmentFinancing" xlink:to="duot_RepaymentsOfInsuranceAndEquipmentFinancing_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_RepaymentsOfInsuranceAndEquipmentFinancing_2_lbl" xml:lang="en-US">RepaymentsOfInsuranceAndEquipmentFinancing</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_RepaymentsOfLongTermCapitalLeaseObligation" xlink:to="duot_RepaymentsOfLongTermCapitalLeaseObligation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_RepaymentsOfLongTermCapitalLeaseObligation_2_lbl" xml:lang="en-US">RepaymentsOfLongTermCapitalLeaseObligation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_IssuanceCosts" xlink:to="duot_IssuanceCosts_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_IssuanceCosts_2_lbl" xml:lang="en-US">IssuanceCosts</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_3_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_2_lbl" xml:lang="en-US">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_2_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_2_lbl" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:to="us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_2_lbl" xml:lang="en-US">Capitalized Computer Software, Accumulated Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_BillingsOrCashReceived" xlink:to="duot_BillingsOrCashReceived_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_BillingsOrCashReceived_3_lbl" xml:lang="en-US">Billings Or Cash Received</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="duot_CostAndEstimatedEarningsRecognized" xlink:to="duot_CostAndEstimatedEarningsRecognized_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="duot_CostAndEstimatedEarningsRecognized_3_lbl" xml:lang="en-US">Cost And Estimated Earnings Recognized</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_2_lbl" xml:lang="en-US">Contract with Customer, Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_2_lbl" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxCreditCarryforwardAmount" xlink:to="us-gaap_TaxCreditCarryforwardAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxCreditCarryforwardAmount_2_lbl" xml:lang="en-US">Tax Credit Carryforward, Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockConvertibleConversionPrice" xlink:to="us-gaap_PreferredStockConvertibleConversionPrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockConvertibleConversionPrice_2_lbl" xml:lang="en-US">Preferred Stock, Convertible, Conversion Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockConvertibleConversionPriceIncrease" xlink:to="us-gaap_CommonStockConvertibleConversionPriceIncrease_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockConvertibleConversionPriceIncrease_2_lbl" xml:lang="en-US">Common Stock, Convertible, Conversion Price, Increase</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_2_lbl" xml:lang="en-US">Debt Instrument, Unamortized Discount</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>duot-20231231_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://duostechnologies/role/Cover" xlink:href="duot-20231231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheets" xlink:href="duot-20231231.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="duot-20231231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperations" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfOperationsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:href="duot-20231231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:href="duot-20231231.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Liquidity" xlink:href="duot-20231231.xsd#Liquidity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/AccountsReceivable" xlink:href="duot-20231231.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipment" xlink:href="duot-20231231.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarks" xlink:href="duot-20231231.xsd#PatentsAndTrademarks" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareDevelopmentCosts" xlink:href="duot-20231231.xsd#SoftwareDevelopmentCosts" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/Debt" xlink:href="duot-20231231.xsd#Debt" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccounting" xlink:href="duot-20231231.xsd#RevenuesAndContractAccounting" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DeferredCompensation" xlink:href="duot-20231231.xsd#DeferredCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingencies" xlink:href="duot-20231231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxes" xlink:href="duot-20231231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquity" xlink:href="duot-20231231.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrants" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrants" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlan" xlink:href="duot-20231231.xsd#DefinedContributionPlan" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RelatedPartyTransactions" xlink:href="duot-20231231.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssets" xlink:href="duot-20231231.xsd#SaleOfAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEvents" xlink:href="duot-20231231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:href="duot-20231231.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/AccountsReceivableTables" xlink:href="duot-20231231.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentTables" xlink:href="duot-20231231.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarksTables" xlink:href="duot-20231231.xsd#PatentsAndTrademarksTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareDevelopmentCostsTables" xlink:href="duot-20231231.xsd#SoftwareDevelopmentCostsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtTables" xlink:href="duot-20231231.xsd#DebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingTables" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesTables" xlink:href="duot-20231231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsTables" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsTables" xlink:href="duot-20231231.xsd#SaleOfAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="duot-20231231.xsd#NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:href="duot-20231231.xsd#LiquidityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable" xlink:href="duot-20231231.xsd#AccountsReceivableDetails-AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" xlink:href="duot-20231231.xsd#PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" xlink:href="duot-20231231.xsd#PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative" xlink:href="duot-20231231.xsd#PropertyAndEquipmentDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks" xlink:href="duot-20231231.xsd#PatentsAndTrademarksDetails-PatentsAndTrademarks" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative" xlink:href="duot-20231231.xsd#PatentsAndTrademarksDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" xlink:href="duot-20231231.xsd#SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" xlink:href="duot-20231231.xsd#SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative" xlink:href="duot-20231231.xsd#SoftwareDevelopmentCostsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements" xlink:href="duot-20231231.xsd#DebtDetails-NotesPayable-FinancingAgreements" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DebtDetailsNarrative" xlink:href="duot-20231231.xsd#DebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetails-ContractAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetails-ContractLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetails-disaggregatedRevenue" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative" xlink:href="duot-20231231.xsd#RevenuesAndContractAccountingDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DeferredCompensationDetailsNarrative" xlink:href="duot-20231231.xsd#DeferredCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="duot-20231231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes" xlink:href="duot-20231231.xsd#IncomeTaxesDetails-ProvisionForIncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets" xlink:href="duot-20231231.xsd#IncomeTaxesDetails-DeferredTaxAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/IncomeTaxesDetailsNarrative" xlink:href="duot-20231231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:href="duot-20231231.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetails-OptionsActivity" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative" xlink:href="duot-20231231.xsd#CommonStockOptionsAndWarrantsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:href="duot-20231231.xsd#DefinedContributionPlanDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetails" xlink:href="duot-20231231.xsd#SaleOfAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:href="duot-20231231.xsd#SaleOfAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:href="duot-20231231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ErrCompDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardTimingDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangements" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingPoliciesProc" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="loc_deiIcfrAuditorAttestationFlag" />
      <link:presentationArc order="580" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiIcfrAuditorAttestationFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="loc_deiDocumentFinStmtErrorCorrectionFlag" />
      <link:presentationArc order="590" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFinStmtErrorCorrectionFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="loc_deiAuditorFirmId" />
      <link:presentationArc order="600" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorFirmId" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="loc_deiAuditorName" />
      <link:presentationArc order="610" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="loc_deiAuditorLocation" />
      <link:presentationArc order="620" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorLocation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedBalanceSheets" xlink:title="00000002 - Statement - CONSOLIDATED BALANCE SHEETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesAPreferredStockMember" xlink:label="loc_duotConvertibleSeriesAPreferredStockMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesAPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesBPreferredStockMember" xlink:label="loc_duotConvertibleSeriesBPreferredStockMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesBPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesCPreferredStockMember" xlink:label="loc_duotConvertibleSeriesCPreferredStockMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesCPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesDPreferredStockMember" xlink:label="loc_duotConvertibleSeriesDPreferredStockMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesDPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesEPreferredStockMember" xlink:label="loc_duotConvertibleSeriesEPreferredStockMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesEPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesFPreferredStockMember" xlink:label="loc_duotConvertibleSeriesFPreferredStockMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesFPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCash" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecurityDeposit" xlink:label="loc_us-gaapSecurityDeposit" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapSecurityDeposit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsAbstract" xlink:label="loc_us-gaapOtherAssetsAbstract" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:label="loc_us-gaapNotesAndLoansReceivableNetNoncurrent" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherAssetsAbstract" xlink:to="loc_us-gaapNotesAndLoansReceivableNetNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherAssetsAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" xlink:label="loc_duotCapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherAssetsAbstract" xlink:to="loc_duotCapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssets" xlink:label="loc_us-gaapOtherAssets" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherAssetsAbstract" xlink:to="loc_us-gaapOtherAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNotesPayableCurrent" xlink:label="loc_us-gaapOtherNotesPayableCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOtherNotesPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="loc_us-gaapFinanceLeaseLiabilityCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapFinanceLeaseLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdditionalPaidInCapitalCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:label="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotTotalStockAndPaidInCapitalAndRetainedEarningsDeficit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="loc_us-gaapTreasuryStockCommonValue" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockCommonValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesAPreferredStockMember" xlink:label="loc_duotConvertibleSeriesAPreferredStockMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesAPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesBPreferredStockMember" xlink:label="loc_duotConvertibleSeriesBPreferredStockMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesBPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesCPreferredStockMember" xlink:label="loc_duotConvertibleSeriesCPreferredStockMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesCPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesDPreferredStockMember" xlink:label="loc_duotConvertibleSeriesDPreferredStockMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesDPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesEPreferredStockMember" xlink:label="loc_duotConvertibleSeriesEPreferredStockMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesEPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesFPreferredStockMember" xlink:label="loc_duotConvertibleSeriesFPreferredStockMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesFPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockSharesAvailableToBeDesignated" xlink:label="loc_duotPreferredStockSharesAvailableToBeDesignated" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotPreferredStockSharesAvailableToBeDesignated" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockRedemptionPricePerShare" xlink:label="loc_us-gaapPreferredStockRedemptionPricePerShare" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPreferredStockRedemptionPricePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="loc_us-gaapTreasuryStockCommonShares" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockCommonShares" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfOperations" xlink:title="00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaapProductMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapProductMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ServiceOtherMember" xlink:label="loc_us-gaapServiceOtherMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapServiceOtherMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesAbstract" xlink:label="loc_us-gaapRevenuesAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenuesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:label="loc_us-gaapCostOfGoodsAndServicesSoldAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSoldAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingExpensesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCostsAndExpenses" xlink:label="loc_us-gaapOperatingCostsAndExpenses" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingCostsAndExpenses" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract" xlink:label="loc_us-gaapOtherIncomeAndExpensesAbstract" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherIncomeAndExpensesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherIncomeAndExpensesAbstract" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherIncomeAndExpensesAbstract" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherIncomeAndExpensesAbstract" xlink:to="loc_us-gaapNonoperatingIncomeExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:title="00000005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity" xlink:title="00000006 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS&apos; EQUITY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="100" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockBMember" xlink:label="loc_duotPreferredStockBMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_duotPreferredStockBMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockCMember" xlink:label="loc_duotPreferredStockCMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_duotPreferredStockCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockDMember" xlink:label="loc_duotPreferredStockDMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_duotPreferredStockDMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockEMember" xlink:label="loc_duotPreferredStockEMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_duotPreferredStockEMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PreferredStockFMember" xlink:label="loc_duotPreferredStockFMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_duotPreferredStockFMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapRetainedEarningsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="loc_us-gaapTreasuryStockCommonMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapTreasuryStockCommonMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEPreferredStockIssued" xlink:label="loc_duotSeriesEPreferredStockIssued" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesEPreferredStockIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEPreferredStockIssuedShares" xlink:label="loc_duotSeriesEPreferredStockIssuedShares" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesEPreferredStockIssuedShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockIssued" xlink:label="loc_duotSeriesFPreferredStockIssued" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesFPreferredStockIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockIssuedShares" xlink:label="loc_duotSeriesFPreferredStockIssuedShares" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesFPreferredStockIssuedShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockConvertedToSeriesEPreferred" xlink:label="loc_duotSeriesFPreferredStockConvertedToSeriesEPreferred" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesFPreferredStockConvertedToSeriesEPreferred" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares" xlink:label="loc_duotSeriesFPreferredStockConvertedToSeriesEPreferredShares" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesFPreferredStockConvertedToSeriesEPreferredShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesCPreferredStockConvertedToCommonStock" xlink:label="loc_duotSeriesCPreferredStockConvertedToCommonStock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesCPreferredStockConvertedToCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesCPreferredStockConvertedToCommonStockShares" xlink:label="loc_duotSeriesCPreferredStockConvertedToCommonStockShares" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesCPreferredStockConvertedToCommonStockShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesBPreferredStockConvertedToCommonStock" xlink:label="loc_duotSeriesBPreferredStockConvertedToCommonStock" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesBPreferredStockConvertedToCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesBPreferredStockConvertedToCommonStockShares" xlink:label="loc_duotSeriesBPreferredStockConvertedToCommonStockShares" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesBPreferredStockConvertedToCommonStockShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDPreferredStockConvertedToCommonStock" xlink:label="loc_duotSeriesDPreferredStockConvertedToCommonStock" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesDPreferredStockConvertedToCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDPreferredStockConvertedToCommonStockShares" xlink:label="loc_duotSeriesDPreferredStockConvertedToCommonStockShares" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSeriesDPreferredStockConvertedToCommonStockShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueOther" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesOther" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPaymentsOfStockIssuanceCosts" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" xlink:label="loc_duotStockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotStockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" xlink:label="loc_duotStockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotStockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_2" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_2" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/ConsolidatedStatementsOfCashFlows" xlink:title="00000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingCashFlowsDirectMethodAbstract" xlink:label="loc_us-gaapOperatingCashFlowsDirectMethodAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapOperatingCashFlowsDirectMethodAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingCashFlowsDirectMethodAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockIssuedForServices" xlink:label="loc_duotStockIssuedForServices" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_duotStockIssuedForServices" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="loc_us-gaapIncreaseDecreaseInReceivables" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInReceivables" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_IncreaseDecreaseInNotesReceivable" xlink:label="loc_duotIncreaseDecreaseInNotesReceivable" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_duotIncreaseDecreaseInNotesReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInSecurityDeposits" xlink:label="loc_us-gaapIncreaseDecreaseInSecurityDeposits" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInSecurityDeposits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableTrade" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="loc_us-gaapPaymentsToAcquireIntangibleAssets" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireIntangibleAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToDevelopSoftware" xlink:label="loc_us-gaapPaymentsToDevelopSoftware" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToDevelopSoftware" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RepaymentsOfInsuranceAndEquipmentFinancing" xlink:label="loc_duotRepaymentsOfInsuranceAndEquipmentFinancing" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_duotRepaymentsOfInsuranceAndEquipmentFinancing" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RepaymentsOfLongTermCapitalLeaseObligation" xlink:label="loc_duotRepaymentsOfLongTermCapitalLeaseObligation" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_duotRepaymentsOfLongTermCapitalLeaseObligation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ProceedsFromIssuanceOfCommonStocks" xlink:label="loc_duotProceedsFromIssuanceOfCommonStocks" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_duotProceedsFromIssuanceOfCommonStocks" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_IssuanceCosts" xlink:label="loc_duotIssuanceCosts" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_duotIssuanceCosts" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" xlink:label="loc_us-gaapProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:label="loc_us-gaapProceedsFromIssuanceOrSaleOfEquity" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOrSaleOfEquity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaapSupplementalCashFlowInformationAbstract" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapInterestPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapIncomeTaxesPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesIssued1" xlink:label="loc_us-gaapNotesIssued1" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_us-gaapNotesIssued1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:title="995410 - Disclosure - Pay vs Performance Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PayVsPerformanceDisclosureLineItems" xlink:label="loc_ecdPayVsPerformanceDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTable" xlink:label="loc_ecdPvpTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ExecutiveCategoryAxis" xlink:label="loc_ecdExecutiveCategoryAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdExecutiveCategoryAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllExecutiveCategoriesMember" xlink:label="loc_ecdAllExecutiveCategoriesMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdExecutiveCategoryAxis" xlink:to="loc_ecdAllExecutiveCategoriesMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAxis" xlink:label="loc_ecdAdjToCompAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdAdjToCompAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllAdjToCompMember" xlink:label="loc_ecdAllAdjToCompMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAdjToCompAxis" xlink:to="loc_ecdAllAdjToCompMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureAxis" xlink:label="loc_ecdMeasureAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdMeasureAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PvpTableTextBlock" xlink:label="loc_ecdPvpTableTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureName" xlink:label="loc_ecdCoSelectedMeasureName" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdCoSelectedMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="loc_ecdNamedExecutiveOfficersFnTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdNamedExecutiveOfficersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="loc_ecdPeerGroupIssuersFnTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeerGroupIssuersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="loc_ecdChangedPeerGroupFnTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdChangedPeerGroupFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoTotalCompAmt" xlink:label="loc_ecdPeoTotalCompAmt" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="loc_ecdPeoActuallyPaidCompAmt" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoActuallyPaidCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="loc_ecdAdjToPeoCompFnTextBlock" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdAdjToPeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="loc_ecdNonPeoNeoAvgTotalCompAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="loc_ecdAdjToNonPeoNeoCompFnTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdAdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:presentationArc order="2140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" />
      <link:presentationArc order="2150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" />
      <link:presentationArc order="2160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TabularListTableTextBlock" xlink:label="loc_ecdTabularListTableTextBlock" />
      <link:presentationArc order="2170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTabularListTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TotalShareholderRtnAmt" xlink:label="loc_ecdTotalShareholderRtnAmt" />
      <link:presentationArc order="2180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="loc_ecdPeerGroupTotalShareholderRtnAmt" />
      <link:presentationArc order="2190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdPeerGroupTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="2200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_CoSelectedMeasureAmt" xlink:label="loc_ecdCoSelectedMeasureAmt" />
      <link:presentationArc order="2210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdCoSelectedMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OtherPerfMeasureAmt" xlink:label="loc_ecdOtherPerfMeasureAmt" />
      <link:presentationArc order="2220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdOtherPerfMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AdjToCompAmt" xlink:label="loc_ecdAdjToCompAmt" />
      <link:presentationArc order="2230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdAdjToCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_PeoName" xlink:label="loc_ecdPeoName" />
      <link:presentationArc order="2240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdPeoName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MeasureName" xlink:label="loc_ecdMeasureName" />
      <link:presentationArc order="2250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="loc_ecdNonGaapMeasureDescriptionTextBlock" />
      <link:presentationArc order="2260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdMeasureName" xlink:to="loc_ecdNonGaapMeasureDescriptionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="loc_ecdAdditional402vDisclosureTextBlock" />
      <link:presentationArc order="2270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdAdditional402vDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:title="995440 - Disclosure - Recovery of Erroneously Awarded Compensation">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RecoveryOfErrCompDisclosureLineItems" xlink:label="loc_ecdRecoveryOfErrCompDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompRecoveryTable" xlink:label="loc_ecdErrCompRecoveryTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdErrCompRecoveryTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDateAxis" xlink:label="loc_ecdRestatementDateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdRestatementDateAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDeterminationDate" xlink:label="loc_ecdRestatementDeterminationDate" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdRestatementDeterminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompAmt" xlink:label="loc_ecdAggtErrCompAmt" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="loc_ecdErrCompAnalysisTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdErrCompAnalysisTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="loc_ecdOutstandingAggtErrCompAmt" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdOutstandingAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="loc_ecdAggtErrCompNotYetDeterminedTextBlock" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdAggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryIndName" xlink:label="loc_ecdForgoneRecoveryIndName" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryIndName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryIndName" xlink:label="loc_ecdOutstandingRecoveryIndName" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryIndName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="loc_ecdOutstandingRecoveryCompAmt" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:title="995443 - Disclosure - Award Timing Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgDiscLineItems" xlink:label="loc_ecdAwardTmgDiscLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="loc_ecdAwardsCloseToMnpiDiscTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_ecdIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="loc_ecdAwardTmgMnpiDiscTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiDiscTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="loc_ecdAwardTmgMethodTextBlock" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="loc_ecdAwardTmgPredtrmndFlag" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgPredtrmndFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="loc_ecdAwardTmgMnpiCnsdrdFlag" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiCnsdrdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="loc_ecdMnpiDiscTimedForCompValFlag" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdMnpiDiscTimedForCompValFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="loc_ecdAwardsCloseToMnpiDiscIndName" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscIndName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="loc_ecdAwardUndrlygSecuritiesAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardUndrlygSecuritiesAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardExrcPrice" xlink:label="loc_ecdAwardExrcPrice" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardExrcPrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AwardGrantDateFairValue" xlink:label="loc_ecdAwardGrantDateFairValue" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="loc_ecdUndrlygSecurityMktPriceChngPct" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdUndrlygSecurityMktPriceChngPct" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:title="995445 - Disclosure - Insider Trading Arrangements">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="loc_ecdInsiderTradingArrLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="loc_ecdMtrlTermsOfTrdArrTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdMtrlTermsOfTrdArrTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndName" xlink:label="loc_ecdTrdArrIndName" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrIndTitle" xlink:label="loc_ecdTrdArrIndTitle" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="loc_ecdRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="loc_ecdNonRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrAdoptionDate" xlink:label="loc_ecdTrdArrAdoptionDate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrAdoptionDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="loc_ecdRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="loc_ecdNonRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrTerminationDate" xlink:label="loc_ecdTrdArrTerminationDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrTerminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrDuration" xlink:label="loc_ecdTrdArrDuration" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrDuration" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TrdArrSecuritiesAggAvailAmt" xlink:label="loc_ecdTrdArrSecuritiesAggAvailAmt" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrSecuritiesAggAvailAmt" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:title="995447 - Disclosure - Insider Trading Policies and Procedures">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="loc_ecdInsiderTradingPoliciesProcLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies" xlink:title="995513 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="loc_us-gaapOrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapOrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/Liquidity" xlink:title="995514 - Disclosure - LIQUIDITY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubstantialDoubtAboutGoingConcernTextBlock" xlink:label="loc_us-gaapSubstantialDoubtAboutGoingConcernTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapSubstantialDoubtAboutGoingConcernTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/AccountsReceivable" xlink:title="995515 - Disclosure - ACCOUNTS RECEIVABLE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="loc_us-gaapLoansNotesTradeAndOtherReceivablesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapLoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipment" xlink:title="995516 - Disclosure - PROPERTY AND EQUIPMENT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarks" xlink:title="995517 - Disclosure - PATENTS AND TRADEMARKS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareDevelopmentCosts" xlink:title="995518 - Disclosure - SOFTWARE DEVELOPMENT COSTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentAbstract" xlink:label="loc_us-gaapResearchAndDevelopmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:label="loc_us-gaapResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapResearchAndDevelopmentAbstract" xlink:to="loc_us-gaapResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/Debt" xlink:title="995519 - Disclosure - DEBT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="loc_us-gaapDebtDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapDebtDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccounting" xlink:title="995520 - Disclosure - REVENUES AND CONTRACT ACCOUNTING">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DeferredCompensation" xlink:title="995521 - Disclosure - DEFERRED COMPENSATION">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationRelatedCostsAbstract" xlink:label="loc_us-gaapCompensationRelatedCostsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:label="loc_us-gaapCompensationRelatedCostsGeneralTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCompensationRelatedCostsAbstract" xlink:to="loc_us-gaapCompensationRelatedCostsGeneralTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingencies" xlink:title="995522 - Disclosure - COMMITMENTS AND CONTINGENCIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxes" xlink:title="995523 - Disclosure - INCOME TAXES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquity" xlink:title="995524 - Disclosure - STOCKHOLDERS&#8217; EQUITY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrants" xlink:title="995525 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlan" xlink:title="995526 - Disclosure - DEFINED CONTRIBUTION PLAN">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="loc_us-gaapCompensationAndRetirementDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanTextBlock" xlink:label="loc_us-gaapDefinedContributionPlanTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCompensationAndRetirementDisclosureAbstract" xlink:to="loc_us-gaapDefinedContributionPlanTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RelatedPartyTransactions" xlink:title="995527 - Disclosure - RELATED PARTY TRANSACTIONS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssets" xlink:title="995528 - Disclosure - SALE OF ASSETS">
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DisclosureSaleOfAssetsAbstract" xlink:label="loc_duotDisclosureSaleOfAssetsAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SaleOfAssetsTextBlock" xlink:label="loc_duotSaleOfAssetsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_duotSaleOfAssetsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEvents" xlink:title="995529 - Disclosure - SUBSEQUENT EVENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaapSubsequentEventsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995530 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_NatureOfOperationsPolicyTextBlock" xlink:label="loc_duotNatureOfOperationsPolicyTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_duotNatureOfOperationsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="loc_us-gaapBasisOfAccountingPolicyPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapUseOfEstimates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapConcentrationRiskCreditRisk" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="loc_us-gaapFairValueMeasurementPolicyPolicyTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapFairValueMeasurementPolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="loc_us-gaapTradeAndOtherAccountsReceivablePolicy" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapTradeAndOtherAccountsReceivablePolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaapInventoryPolicyTextBlock" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapInventoryPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:label="loc_us-gaapResearchDevelopmentAndComputerSoftwarePolicyTextBlock" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PatentsAndTrademarksPolicyTextBlock" xlink:label="loc_duotPatentsAndTrademarksPolicyTextBlock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_duotPatentsAndTrademarksPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_LonglivedAssetsTextBlock" xlink:label="loc_duotLonglivedAssetsTextBlock" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_duotLonglivedAssetsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies" xlink:label="loc_us-gaapGuaranteesIndemnificationsAndWarrantiesPolicies" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapGuaranteesIndemnificationsAndWarrantiesPolicies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoanCommitmentsPolicy" xlink:label="loc_us-gaapLoanCommitmentsPolicy" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapLoanCommitmentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SalesReturnPolicyTextBlock" xlink:label="loc_duotSalesReturnPolicyTextBlock" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_duotSalesReturnPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" xlink:label="loc_duotMultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_duotMultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="loc_us-gaapAdvertisingCostsPolicyTextBlock" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapAdvertisingCostsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapShareholdersEquityAndShareBasedPaymentsTextBlock" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEarningsPerSharePolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="loc_us-gaapLesseeLeasesPolicyTextBlock" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapLesseeLeasesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/AccountsReceivableTables" xlink:title="995531 - Disclosure - ACCOUNTS RECEIVABLE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentTables" xlink:title="995532 - Disclosure - PROPERTY AND EQUIPMENT (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarksTables" xlink:title="995533 - Disclosure - PATENTS AND TRADEMARKS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaapScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareDevelopmentCostsTables" xlink:title="995534 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentAbstract" xlink:label="loc_us-gaapResearchAndDevelopmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapResearchAndDevelopmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:label="loc_us-gaapSoftwareAndSoftwareDevelopmentCostsMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapSoftwareAndSoftwareDevelopmentCostsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock" xlink:label="loc_duotScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_duotScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtTables" xlink:title="995535 - Disclosure - DEBT (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="loc_us-gaapScheduleOfDebtTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDebtTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingTables" xlink:title="995536 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock" xlink:label="loc_duotCostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotCostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock" xlink:label="loc_duotScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaapDisaggregationOfRevenueTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapDisaggregationOfRevenueTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesTables" xlink:title="995537 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock" xlink:label="loc_duotScheduleOfSupplementalInformationRelatedLeasesTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_duotScheduleOfSupplementalInformationRelatedLeasesTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesTables" xlink:title="995538 - Disclosure - INCOME TAXES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsTables" xlink:title="995539 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:label="loc_us-gaapScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsTables" xlink:title="995540 - Disclosure - SALE OF ASSETS (Tables)">
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DisclosureSaleOfAssetsAbstract" xlink:label="loc_duotDisclosureSaleOfAssetsAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ScheduleOfNoteReceivableTableTextBlock" xlink:label="loc_duotScheduleOfNoteReceivableTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_duotScheduleOfNoteReceivableTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995541 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfProductInformationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapProductInformationLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtMajorCustomersAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer1Member" xlink:label="loc_duotCustomer1Member" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomer1Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer2Member" xlink:label="loc_duotCustomer2Member" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomer2Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer3Member" xlink:label="loc_duotCustomer3Member" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomer3Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_Customer4Member" xlink:label="loc_duotCustomer4Member" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomer4Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CustomerMember" xlink:label="loc_duotCustomerMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_duotCustomerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtStatementGeographicalAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtRangeAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" order="60" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PatentsAndTrademarksMember" xlink:label="loc_duotPatentsAndTrademarksMember" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_duotPatentsAndTrademarksMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDConvertiblePreferredStockMember" xlink:label="loc_duotSeriesDConvertiblePreferredStockMember" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesDConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEConvertiblePreferredStockMember" xlink:label="loc_duotSeriesEConvertiblePreferredStockMember" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesEConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFConvertiblePreferredStockMember" xlink:label="loc_duotSeriesFConvertiblePreferredStockMember" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesFConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapAwardTypeAxis" order="80" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashUninsuredAmount" xlink:label="loc_us-gaapCashUninsuredAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCashUninsuredAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ProductWarrantyPeriod" xlink:label="loc_duotProductWarrantyPeriod" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_duotProductWarrantyPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="loc_us-gaapAdvertisingExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAdvertisingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" xlink:label="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_duotShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConversionOfStockSharesConverted" xlink:label="loc_duotConversionOfStockSharesConverted" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_duotConversionOfStockSharesConverted" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/LiquidityDetailsNarrative" xlink:title="995542 - Disclosure - LIQUIDITY (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WorkingCapitalSurplus" xlink:label="loc_duotWorkingCapitalSurplus" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_duotWorkingCapitalSurplus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable" xlink:title="995543 - Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivable" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment" xlink:title="995544 - Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaapFurnitureAndFixturesMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapFurnitureAndFixturesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaapEquipmentMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="loc_us-gaapSoftwareDevelopmentMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapSoftwareDevelopmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware" xlink:title="995545 - Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapPropertyPlantAndEquipmentOtherTypesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative" xlink:title="995546 - Disclosure - PROPERTY AND EQUIPMENT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks" xlink:title="995547 - Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="loc_us-gaapPatentsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapPatentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative" xlink:title="995548 - Disclosure - PATENTS AND TRADEMARKS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts" xlink:title="995549 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentAbstract" xlink:label="loc_us-gaapResearchAndDevelopmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedComputerSoftwareGross" xlink:label="loc_us-gaapCapitalizedComputerSoftwareGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapResearchAndDevelopmentAbstract" xlink:to="loc_us-gaapCapitalizedComputerSoftwareGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConstructionInProgress" xlink:label="loc_duotConstructionInProgress" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapResearchAndDevelopmentAbstract" xlink:to="loc_duotConstructionInProgress" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:label="loc_us-gaapCapitalizedComputerSoftwareAccumulatedAmortization" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapResearchAndDevelopmentAbstract" xlink:to="loc_us-gaapCapitalizedComputerSoftwareAccumulatedAmortization" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SoftwareDevelopmentCostsNet" xlink:label="loc_duotSoftwareDevelopmentCostsNet" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapResearchAndDevelopmentAbstract" xlink:to="loc_duotSoftwareDevelopmentCostsNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization" xlink:title="995550 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentAbstract" xlink:label="loc_us-gaapResearchAndDevelopmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapResearchAndDevelopmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:label="loc_us-gaapSoftwareAndSoftwareDevelopmentCostsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapSoftwareAndSoftwareDevelopmentCostsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative" xlink:title="995551 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentAbstract" xlink:label="loc_us-gaapResearchAndDevelopmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AmortizationOfIntangibleAssets1" xlink:label="loc_duotAmortizationOfIntangibleAssets1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapResearchAndDevelopmentAbstract" xlink:to="loc_duotAmortizationOfIntangibleAssets1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DepreciationOfSoftwareCost" xlink:label="loc_duotDepreciationOfSoftwareCost" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapResearchAndDevelopmentAbstract" xlink:to="loc_duotDepreciationOfSoftwareCost" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements" xlink:title="995552 - Disclosure - DEBT (Details - Notes payable - financing agreements)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteOneMember" xlink:label="loc_duotThirdPartyInsuranceNoteOneMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteTwoMember" xlink:label="loc_duotThirdPartyInsuranceNoteTwoMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteThreeMember" xlink:label="loc_duotThirdPartyInsuranceNoteThreeMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteThreeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteFourMember" xlink:label="loc_duotThirdPartyInsuranceNoteFourMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteFourMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNotesPayableCurrent" xlink:label="loc_us-gaapOtherNotesPayableCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapOtherNotesPayableCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtPercentageBearingFixedInterestRate" xlink:label="loc_us-gaapLongTermDebtPercentageBearingFixedInterestRate" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtPercentageBearingFixedInterestRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DebtDetailsNarrative" xlink:title="995553 - Disclosure - DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteOneMember" xlink:label="loc_duotThirdPartyInsuranceNoteOneMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteTwoMember" xlink:label="loc_duotThirdPartyInsuranceNoteTwoMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteThreeMember" xlink:label="loc_duotThirdPartyInsuranceNoteThreeMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteThreeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThirdPartyInsuranceNoteFourMember" xlink:label="loc_duotThirdPartyInsuranceNoteFourMember" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotThirdPartyInsuranceNoteFourMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EquipmentFinancingMember" xlink:label="loc_duotEquipmentFinancingMember" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_duotEquipmentFinancingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NotesPayable" xlink:label="loc_us-gaapNotesPayable" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapNotesPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="loc_us-gaapDerivativeFixedInterestRate" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDerivativeFixedInterestRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="loc_us-gaapDebtInstrumentPeriodicPayment" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentPeriodicPayment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PurchaseOfInsurancePolicy" xlink:label="loc_duotPurchaseOfInsurancePolicy" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_duotPurchaseOfInsurancePolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DownPaymentPaid" xlink:label="loc_duotDownPaymentPaid" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_duotDownPaymentPaid" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_InsuranceMonthlyInstallments" xlink:label="loc_duotInsuranceMonthlyInstallments" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_duotInsuranceMonthlyInstallments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDepositsWithOtherInstitutions" xlink:label="loc_us-gaapProceedsFromDepositsWithOtherInstitutions" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapProceedsFromDepositsWithOtherInstitutions" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets" xlink:title="995554 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CostsAndEstimatedEarningsRecognized" xlink:label="loc_duotCostsAndEstimatedEarningsRecognized" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotCostsAndEstimatedEarningsRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_BillingsOrCashReceived" xlink:label="loc_duotBillingsOrCashReceived" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotBillingsOrCashReceived" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities" xlink:title="995555 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_BillingsAndorCashReceiptsOnUncompletedContracts" xlink:label="loc_duotBillingsAndorCashReceiptsOnUncompletedContracts" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotBillingsAndorCashReceiptsOnUncompletedContracts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CostAndEstimatedEarningsRecognized" xlink:label="loc_duotCostAndEstimatedEarningsRecognized" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotCostAndEstimatedEarningsRecognized" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ContractLiabilitiesTechnologiesSystems" xlink:label="loc_duotContractLiabilitiesTechnologiesSystems" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotContractLiabilitiesTechnologiesSystems" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ContractLiabilitiesServicesAndConsulting" xlink:label="loc_duotContractLiabilitiesServicesAndConsulting" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotContractLiabilitiesServicesAndConsulting" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue" xlink:title="995556 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapDisaggregationOfRevenueLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember" xlink:label="loc_srtNorthAmericaMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtNorthAmericaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RailMember" xlink:label="loc_duotRailMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_duotRailMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_CommercialMember" xlink:label="loc_duotCommercialMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_duotCommercialMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_GovernmentsMember" xlink:label="loc_duotGovernmentsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_duotGovernmentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ArtificialIntelligenceMember" xlink:label="loc_duotArtificialIntelligenceMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_duotArtificialIntelligenceMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtProductOrServiceAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TurnkeyProjectsMember" xlink:label="loc_duotTurnkeyProjectsMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotTurnkeyProjectsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_MaintenanceAndSupportMember" xlink:label="loc_duotMaintenanceAndSupportMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotMaintenanceAndSupportMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DataCenterAuditingServicesMember" xlink:label="loc_duotDataCenterAuditingServicesMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotDataCenterAuditingServicesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SoftwareLicenseMember" xlink:label="loc_duotSoftwareLicenseMember" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotSoftwareLicenseMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AlgorithmsMember" xlink:label="loc_duotAlgorithmsMember" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_duotAlgorithmsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_GoodsTransferredOverTimeMember" xlink:label="loc_duotGoodsTransferredOverTimeMember" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_duotGoodsTransferredOverTimeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ServicesTransferredOverTimeMember" xlink:label="loc_duotServicesTransferredOverTimeMember" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_duotServicesTransferredOverTimeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative" xlink:title="995557 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ContractLiabilitiesTechnologiesSystems" xlink:label="loc_duotContractLiabilitiesTechnologiesSystems" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotContractLiabilitiesTechnologiesSystems" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ServicesAndConsultingRecognized" xlink:label="loc_duotServicesAndConsultingRecognized" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_duotServicesAndConsultingRecognized" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DeferredCompensationDetailsNarrative" xlink:title="995558 - Disclosure - DEFERRED COMPENSATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationRelatedCostsAbstract" xlink:label="loc_us-gaapCompensationRelatedCostsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationLiabilityCurrent" xlink:label="loc_us-gaapDeferredCompensationLiabilityCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCompensationRelatedCostsAbstract" xlink:to="loc_us-gaapDeferredCompensationLiabilityCurrent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases" xlink:title="995559 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaapOperatingLeaseCost" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeaseCost" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="loc_us-gaapShortTermLeaseCost" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapShortTermLeaseCost" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRent" xlink:label="loc_us-gaapPaymentsForRent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapPaymentsForRent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaapOperatingLeaseWeightedAverageDiscountRatePercent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaapOperatingLeaseWeightedAverageRemainingLeaseTerm1" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments" xlink:title="995560 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995561 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AreaOfLease" xlink:label="loc_duotAreaOfLease" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_duotAreaOfLease" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_RentableSpace" xlink:label="loc_duotRentableSpace" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_duotRentableSpace" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecurityDepositLiability" xlink:label="loc_us-gaapSecurityDepositLiability" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapSecurityDepositLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecurityDeposit" xlink:label="loc_us-gaapSecurityDeposit" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapSecurityDeposit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes" xlink:title="995562 - Disclosure - INCOME TAXES (Details - Provision for income taxes)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets" xlink:title="995563 - Disclosure - INCOME TAXES (Details - Deferred tax assets)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxAssetsGoodwillAndIntangibleAssets" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/IncomeTaxesDetailsNarrative" xlink:title="995564 - Disclosure - INCOME TAXES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwards" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="loc_us-gaapValuationAllowanceDeferredTaxAssetChangeInAmount" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="loc_us-gaapTaxCreditCarryforwardAmount" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapTaxCreditCarryforwardAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" xlink:label="loc_duotPotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_duotPotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/StockholdersEquityDetailsNarrative" xlink:title="995565 - Disclosure - STOCKHOLDERS&#8217; EQUITY (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="loc_us-gaapScheduleOfStockByClassTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfStockByClassTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems" xlink:label="loc_us-gaapClassOfStockLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapClassOfStockLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapPlanNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TwoThousandTwentyOneEquityIncentivePlanMember" xlink:label="loc_duotTwoThousandTwentyOneEquityIncentivePlanMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotTwoThousandTwentyOneEquityIncentivePlanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EmployeeStockPurchasePlanMember" xlink:label="loc_duotEmployeeStockPurchasePlanMember" />
      <link:presentationArc order="770" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_duotEmployeeStockPurchasePlanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="loc_us-gaapOptionIndexedToIssuersEquityTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapOptionIndexedToIssuersEquityTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOptionIndexedToIssuersEquityTypeAxis" xlink:to="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOptionIndexedToIssuersEquityTypeDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesBPreferredStockMember" xlink:label="loc_duotConvertibleSeriesBPreferredStockMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesBPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesBConvertiblePreferredStockMember" xlink:label="loc_duotSeriesBConvertiblePreferredStockMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesBConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesCPreferredStockMember" xlink:label="loc_duotConvertibleSeriesCPreferredStockMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesCPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesDPreferredStockMember" xlink:label="loc_duotConvertibleSeriesDPreferredStockMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesDPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDConvertiblePreferredStockMember" xlink:label="loc_duotSeriesDConvertiblePreferredStockMember" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesDConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesEPreferredStockMember" xlink:label="loc_duotConvertibleSeriesEPreferredStockMember" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesEPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEConvertiblePreferredStockMember" xlink:label="loc_duotSeriesEConvertiblePreferredStockMember" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesEConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFConvertiblePreferredStockMember" xlink:label="loc_duotSeriesFConvertiblePreferredStockMember" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesFConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleSeriesFPreferredStockMember" xlink:label="loc_duotConvertibleSeriesFPreferredStockMember" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotConvertibleSeriesFPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesDPreferredStockMember" xlink:label="loc_us-gaapSeriesDPreferredStockMember" />
      <link:presentationArc order="670" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapSeriesDPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PurchaseAgreementMember" xlink:label="loc_duotPurchaseAgreementMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_duotPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="loc_us-gaapPrivatePlacementMember" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_us-gaapPrivatePlacementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_srtTitleOfIndividualAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ThreeDirectorsMember" xlink:label="loc_duotThreeDirectorsMember" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotThreeDirectorsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_FourDirectorsMember" xlink:label="loc_duotFourDirectorsMember" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotFourDirectorsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="loc_srtDirectorMember" />
      <link:presentationArc order="580" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_srtDirectorMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EmployeesAndDirectorsMember" xlink:label="loc_duotEmployeesAndDirectorsMember" />
      <link:presentationArc order="850" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotEmployeesAndDirectorsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="60" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapAwardTypeAxis" order="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_2" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ESPPMember" xlink:label="loc_duotESPPMember" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_duotESPPMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" order="80" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="loc_us-gaapPrivatePlacementMember_2" />
      <link:presentationArc order="650" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_us-gaapPrivatePlacementMember_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaapVestingAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapVestingAxis" order="90" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaapVestingDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVestingAxis" xlink:to="loc_us-gaapVestingDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="loc_us-gaapShareBasedCompensationAwardTrancheOneMember" />
      <link:presentationArc order="800" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVestingDomain" xlink:to="loc_us-gaapShareBasedCompensationAwardTrancheOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="loc_us-gaapShareBasedCompensationAwardTrancheTwoMember" />
      <link:presentationArc order="830" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVestingDomain" xlink:to="loc_us-gaapShareBasedCompensationAwardTrancheTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_srtRangeAxis" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="870" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="880" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfStockByClassTable" xlink:to="loc_us-gaapRelatedPartyTransactionAxis" order="110" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ShareholdersOneMember" xlink:label="loc_duotShareholdersOneMember" />
      <link:presentationArc order="900" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_duotShareholdersOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ShareholdersTwoMember" xlink:label="loc_duotShareholdersTwoMember" />
      <link:presentationArc order="910" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_duotShareholdersTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockVotingRights" xlink:label="loc_us-gaapCommonStockVotingRights" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockVotingRights" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AggregateFairMarketValueOfOurCommonStockNotExceed" xlink:label="loc_duotAggregateFairMarketValueOfOurCommonStockNotExceed" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotAggregateFairMarketValueOfOurCommonStockNotExceed" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConversionOfStockAmountConverted1" xlink:label="loc_us-gaapConversionOfStockAmountConverted1" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapConversionOfStockAmountConverted1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="loc_us-gaapDebtInstrumentConvertibleConversionPrice1" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapDebtInstrumentConvertibleConversionPrice1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockVotingRights" xlink:label="loc_us-gaapPreferredStockVotingRights" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockVotingRights" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfConvertiblePreferredStock" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceOfConvertiblePreferredStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesCPreferredConvertedToCommonStockShares" xlink:label="loc_duotSeriesCPreferredConvertedToCommonStockShares" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotSeriesCPreferredConvertedToCommonStockShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockConvertibleConversionPrice" xlink:label="loc_us-gaapPreferredStockConvertibleConversionPrice" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPreferredStockConvertibleConversionPrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEPreferredConvertiblePreferredStockShares" xlink:label="loc_duotSeriesEPreferredConvertiblePreferredStockShares" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotSeriesEPreferredConvertiblePreferredStockShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaapSharesIssued" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="loc_us-gaapSharesIssuedPricePerShare" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharesIssuedPricePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_StockExchangeShares" xlink:label="loc_duotStockExchangeShares" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotStockExchangeShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesFPreferredConvertiblePreferredStockShares" xlink:label="loc_duotSeriesFPreferredConvertiblePreferredStockShares" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotSeriesFPreferredConvertiblePreferredStockShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalUnitsOutstanding" xlink:label="loc_us-gaapCapitalUnitsOutstanding" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCapitalUnitsOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP" xlink:label="loc_us-gaapEmployeeStockOwnershipPlanESOPCashContributionsToESOP" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapEmployeeStockOwnershipPlanESOPCashContributionsToESOP" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrentAndNoncurrent" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapAccruedLiabilitiesCurrentAndNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConversionOfStockSharesIssued" xlink:label="loc_duotConversionOfStockSharesIssued" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotConversionOfStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockConvertibleConversionPriceIncrease" xlink:label="loc_us-gaapCommonStockConvertibleConversionPriceIncrease" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockConvertibleConversionPriceIncrease" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockIssuedEmployeeTrustDeferred" xlink:label="loc_us-gaapCommonStockIssuedEmployeeTrustDeferred" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockIssuedEmployeeTrustDeferred" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="loc_us-gaapSaleOfStockPricePerShare" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSaleOfStockPricePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertedToCommonStockShares" xlink:label="loc_duotConvertedToCommonStockShares" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotConvertedToCommonStockShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement" xlink:label="loc_us-gaapPartnersCapitalAccountUnitsSoldInPrivatePlacement" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPartnersCapitalAccountUnitsSoldInPrivatePlacement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesOther" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesOther" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:label="loc_us-gaapProceedsFromIssuanceOfPrivatePlacement" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceOfPrivatePlacement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_AccruedOfferingCosts" xlink:label="loc_duotAccruedOfferingCosts" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotAccruedOfferingCosts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredOfferingCosts" xlink:label="loc_us-gaapDeferredOfferingCosts" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapDeferredOfferingCosts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardDescription" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" xlink:label="loc_duotEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_duotEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="loc_us-gaapTreasuryStockCommonShares" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapTreasuryStockCommonShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="loc_us-gaapTreasuryStockCommonValue" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapTreasuryStockCommonValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaapPaymentsForRepurchaseOfCommonStock" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapPaymentsForRepurchaseOfCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare" xlink:label="loc_us-gaapAcceleratedShareRepurchasesFinalPricePaidPerShare" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockLineItems" xlink:to="loc_us-gaapAcceleratedShareRepurchasesFinalPricePaidPerShare" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity" xlink:title="995566 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" xlink:label="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions" xlink:title="995567 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants" xlink:title="995568 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotSharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WarrantsExpiredForfeitedCancelledOrExercised" xlink:label="loc_duotWarrantsExpiredForfeitedCancelledOrExercised" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotWarrantsExpiredForfeitedCancelledOrExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" xlink:label="loc_duotWeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotWeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConversionOfStockSharesIssued1" xlink:label="loc_us-gaapConversionOfStockSharesIssued1" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapConversionOfStockSharesIssued1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice" xlink:label="loc_duotWarrantsExchangedForCommonStockWeightedAverageExercisePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_duotWarrantsExchangedForCommonStockWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_2" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative" xlink:title="995569 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtTitleOfIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ManagementMember" xlink:label="loc_srtManagementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_srtManagementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_OptionsMember" xlink:label="loc_duotOptionsMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_duotOptionsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_FormerStaffMember" xlink:label="loc_duotFormerStaffMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_duotFormerStaffMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_TwoEmployeesMember" xlink:label="loc_duotTwoEmployeesMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_duotTwoEmployeesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="loc_srtCounterpartyNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtCounterpartyNameAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="loc_srtRepurchaseAgreementCounterpartyNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtCounterpartyNameAxis" xlink:to="loc_srtRepurchaseAgreementCounterpartyNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_FourtyEightWarrantsHoldersMember" xlink:label="loc_duotFourtyEightWarrantsHoldersMember" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRepurchaseAgreementCounterpartyNameDomain" xlink:to="loc_duotFourtyEightWarrantsHoldersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SixtyThreeWarrantsHoldersMember" xlink:label="loc_duotSixtyThreeWarrantsHoldersMember" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRepurchaseAgreementCounterpartyNameDomain" xlink:to="loc_duotSixtyThreeWarrantsHoldersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockOptionPlanExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="loc_us-gaapUnamortizedDebtIssuanceExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapUnamortizedDebtIssuanceExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/DefinedContributionPlanDetailsNarrative" xlink:title="995570 - Disclosure - DEFINED CONTRIBUTION PLAN (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="loc_us-gaapCompensationAndRetirementDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanServiceCost" xlink:label="loc_us-gaapDefinedBenefitPlanServiceCost" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCompensationAndRetirementDisclosureAbstract" xlink:to="loc_us-gaapDefinedBenefitPlanServiceCost" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetails" xlink:title="995571 - Disclosure - SALE OF ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DisclosureSaleOfAssetsAbstract" xlink:label="loc_duotDisclosureSaleOfAssetsAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleNoteReceivable" xlink:label="loc_duotConvertibleNoteReceivable" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_duotConvertibleNoteReceivable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="loc_us-gaapDebtInstrumentUnamortizedDiscount" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_us-gaapDebtInstrumentUnamortizedDiscount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_ConvertibleNoteReceivableNet" xlink:label="loc_duotConvertibleNoteReceivableNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_duotConvertibleNoteReceivableNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SaleOfAssetsDetailsNarrative" xlink:title="995572 - Disclosure - SALE OF ASSETS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_DisclosureSaleOfAssetsAbstract" xlink:label="loc_duotDisclosureSaleOfAssetsAbstract" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PrincipalAmount" xlink:label="loc_duotPrincipalAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_duotPrincipalAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_OriginalIssueDiscount" xlink:label="loc_duotOriginalIssueDiscount" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_duotOriginalIssueDiscount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="loc_us-gaapDebtInstrumentConvertibleConversionPrice1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_us-gaapDebtInstrumentConvertibleConversionPrice1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsShares" xlink:label="loc_us-gaapCommonStockDividendsShares" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_us-gaapCommonStockDividendsShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_PurchaseOfCommonStockWarrants" xlink:label="loc_duotPurchaseOfCommonStockWarrants" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_duotPurchaseOfCommonStockWarrants" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WarrantExercisePriceIncrease" xlink:label="loc_us-gaapWarrantExercisePriceIncrease" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_us-gaapWarrantExercisePriceIncrease" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:label="loc_us-gaapGainLossOnSalesOfAssetsAndAssetImpairmentCharges" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_duotDisclosureSaleOfAssetsAbstract" xlink:to="loc_us-gaapGainLossOnSalesOfAssetsAndAssetImpairmentCharges" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://duostechnologies/role/SubsequentEventsDetailsNarrative" xlink:title="995573 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrivatePlacementMember" xlink:label="loc_us-gaapPrivatePlacementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_us-gaapPrivatePlacementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_srtTitleOfIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_NewAccreditedInvestorsMember" xlink:label="loc_duotNewAccreditedInvestorsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_duotNewAccreditedInvestorsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesDConvertiblePreferredStockMember" xlink:label="loc_duotSeriesDConvertiblePreferredStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesDConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="duot-20231231.xsd#duot_SeriesEConvertiblePreferredStockMember" xlink:label="loc_duotSeriesEConvertiblePreferredStockMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_duotSeriesEConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:label="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="loc_us-gaapSaleOfStockPricePerShare" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSaleOfStockPricePerShare" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockConsiderationReceivedOnTransaction" xlink:label="loc_us-gaapSaleOfStockConsiderationReceivedOnTransaction" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSaleOfStockConsiderationReceivedOnTransaction" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037904617040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Mar. 28, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-55497<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">DUOS TECHNOLOGIES GROUP, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001396536<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">65-0493217<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">FL<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">7660 Centurion Parkway<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Jacksonville<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">FL<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">32256<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(904)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">296-2807<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.001 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">DUOT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,153,446<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,306,663<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">106<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">SALBERG & COMPANY, P.A.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Boca Raton, Florida<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037995375360">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>&#160;CURRENT ASSETS:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">&#160;Cash</a></td>
<td class="nump">$ 2,441,842<span></span>
</td>
<td class="nump">$ 1,121,092<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">&#160;Accounts receivable, net</a></td>
<td class="nump">1,462,463<span></span>
</td>
<td class="nump">3,418,263<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">&#160;Contract assets</a></td>
<td class="nump">641,947<span></span>
</td>
<td class="nump">425,722<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">&#160;Inventory</a></td>
<td class="nump">1,526,165<span></span>
</td>
<td class="nump">1,428,360<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">&#160;Prepaid expenses and other current assets</a></td>
<td class="nump">184,478<span></span>
</td>
<td class="nump">441,320<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">&#160;Total Current Assets</a></td>
<td class="nump">6,256,895<span></span>
</td>
<td class="nump">6,834,757<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">&#160;Property and equipment, net</a></td>
<td class="nump">726,507<span></span>
</td>
<td class="nump">629,490<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">&#160;Operating lease right of use asset</a></td>
<td class="nump">4,373,155<span></span>
</td>
<td class="nump">4,689,931<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecurityDeposit', window );">&#160;Security deposit</a></td>
<td class="nump">550,000<span></span>
</td>
<td class="nump">600,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsAbstract', window );"><strong>&#160;OTHER ASSETS:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesAndLoansReceivableNetNoncurrent', window );">&#160;Note Receivable, net</a></td>
<td class="nump">153,750<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">&#160;Patents and trademarks, net</a></td>
<td class="nump">129,140<span></span>
</td>
<td class="nump">69,733<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer', window );">&#160;Software development costs, net</a></td>
<td class="nump">652,838<span></span>
</td>
<td class="nump">265,208<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">&#160;Total Other Assets</a></td>
<td class="nump">935,728<span></span>
</td>
<td class="nump">334,941<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">&#160;TOTAL ASSETS</a></td>
<td class="nump">12,842,285<span></span>
</td>
<td class="nump">13,089,119<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>&#160;CURRENT LIABILITIES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">&#160;Accounts payable</a></td>
<td class="nump">595,634<span></span>
</td>
<td class="nump">2,290,390<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNotesPayableCurrent', window );">&#160;Notes payable - financing agreements</a></td>
<td class="nump">41,976<span></span>
</td>
<td class="nump">74,575<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">&#160;Accrued expenses</a></td>
<td class="nump">164,113<span></span>
</td>
<td class="nump">453,023<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">&#160;Equipment financing payable-current portion</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">22,851<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">&#160;Operating lease obligations-current portion</a></td>
<td class="nump">779,087<span></span>
</td>
<td class="nump">696,869<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">&#160;Contract liabilities</a></td>
<td class="nump">1,666,243<span></span>
</td>
<td class="nump">957,997<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">&#160;Total Current Liabilities</a></td>
<td class="nump">3,247,053<span></span>
</td>
<td class="nump">4,495,705<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">&#160;Operating lease obligations, less current portion</a></td>
<td class="nump">4,228,718<span></span>
</td>
<td class="nump">4,542,943<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">&#160;Total Liabilities</a></td>
<td class="nump">7,475,771<span></span>
</td>
<td class="nump">9,038,648<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">&#160;Commitments and Contingencies (Note 10)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>&#160;STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">&#160;Common stock: $0.001 par value; 500,000,000 shares authorized, 7,306,663 and 7,156,876 shares issued, 7,305,339 and 7,155,552 &#160;shares outstanding at December 31, 2023 and December 31, 2022, respectively</a></td>
<td class="nump">7,306<span></span>
</td>
<td class="nump">7,156<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">&#160;Additional paid-in-capital</a></td>
<td class="nump">69,120,199<span></span>
</td>
<td class="nump">56,562,600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">&#160;Accumulated deficit</a></td>
<td class="num">(63,603,552)<span></span>
</td>
<td class="num">(52,361,834)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit', window );">&#160;Sub-total</a></td>
<td class="nump">5,523,966<span></span>
</td>
<td class="nump">4,207,923<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonValue', window );">&#160;Less:&#160;&#160;Treasury stock (1,324 shares of common stock at December 31, 2023 and December 31, 2022)</a></td>
<td class="num">(157,452)<span></span>
</td>
<td class="num">(157,452)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">&#160;Total Stockholders' Equity</a></td>
<td class="nump">5,366,514<span></span>
</td>
<td class="nump">4,050,471<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">&#160;Total Liabilities and Stockholders' Equity</a></td>
<td class="nump">12,842,285<span></span>
</td>
<td class="nump">13,089,119<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesAPreferredStockMember', window );">Convertible Series A Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>&#160;STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesBPreferredStockMember', window );">Convertible Series B Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>&#160;STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesCPreferredStockMember', window );">Convertible Series C Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>&#160;STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesDPreferredStockMember', window );">Convertible Series D Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>&#160;STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, value</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesEPreferredStockMember', window );">Convertible Series E Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>&#160;STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, value</a></td>
<td class="nump">12<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesFPreferredStockMember', window );">Convertible Series F Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>&#160;STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesAndLoansReceivableNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of financing receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesAndLoansReceivableNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term notes classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecurityDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecurityDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesAPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesAPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesBPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesBPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesCPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesCPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesDPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesDPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesEPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesEPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesFPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesFPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037993305680">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">10,000,000<span></span>
</td>
<td class="nump">10,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_PreferredStockSharesAvailableToBeDesignated', window );">Preferred stock, shares designated</a></td>
<td class="nump">9,441,000<span></span>
</td>
<td class="nump">9,441,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">500,000,000<span></span>
</td>
<td class="nump">500,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">7,306,663<span></span>
</td>
<td class="nump">7,156,876<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">7,305,339<span></span>
</td>
<td class="nump">7,155,552<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, common shares</a></td>
<td class="nump">1,324<span></span>
</td>
<td class="nump">1,324<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesAPreferredStockMember', window );">Convertible Series A Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 10<span></span>
</td>
<td class="nump">$ 10<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_PreferredStockSharesAvailableToBeDesignated', window );">Preferred stock, shares designated</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="nump">500,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockRedemptionPricePerShare', window );">Preferred stock, conversion price per share</a></td>
<td class="nump">$ 6.30<span></span>
</td>
<td class="nump">$ 6.30<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesBPreferredStockMember', window );">Convertible Series B Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockRedemptionPricePerShare', window );">Preferred stock, conversion price per share</a></td>
<td class="nump">$ 7<span></span>
</td>
<td class="nump">$ 7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesCPreferredStockMember', window );">Convertible Series C Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockRedemptionPricePerShare', window );">Preferred stock, conversion price per share</a></td>
<td class="nump">$ 5.50<span></span>
</td>
<td class="nump">$ 5.50<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesDPreferredStockMember', window );">Convertible Series D Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">4,000<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">1,299<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">1,299<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockRedemptionPricePerShare', window );">Preferred stock, conversion price per share</a></td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesEPreferredStockMember', window );">Convertible Series E Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">30,000<span></span>
</td>
<td class="nump">30,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">11,500<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">11,500<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockRedemptionPricePerShare', window );">Preferred stock, conversion price per share</a></td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesFPreferredStockMember', window );">Convertible Series F Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockRedemptionPricePerShare', window );">Preferred stock, conversion price per share</a></td>
<td class="nump">$ 6.20<span></span>
</td>
<td class="nump">$ 6.20<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_PreferredStockSharesAvailableToBeDesignated">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of preferred stock which are available to be designated.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_PreferredStockSharesAvailableToBeDesignated</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockRedemptionPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The price per share at which the preferred stock of an entity that has priority over common stock in the distribution of dividends and in the event of liquidation of the entity is redeemed or may be called at. The redemption features of this preferred stock are solely within the control of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockRedemptionPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesAPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesAPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesBPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesBPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesCPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesCPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesDPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesDPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesEPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesEPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesFPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesFPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037898340240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>REVENUES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total Revenues</a></td>
<td class="nump">$ 7,471,198<span></span>
</td>
<td class="nump">$ 15,012,366<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldAbstract', window );"><strong>COST OF REVENUES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">&#160;Total Cost of Revenues</a></td>
<td class="nump">6,162,317<span></span>
</td>
<td class="nump">10,264,263<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">GROSS MARGIN</a></td>
<td class="nump">1,308,881<span></span>
</td>
<td class="nump">4,748,103<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>OPERATING EXPENSES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">&#160;Sales and marketing</a></td>
<td class="nump">1,493,309<span></span>
</td>
<td class="nump">1,337,186<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">&#160;Research and development</a></td>
<td class="nump">1,812,951<span></span>
</td>
<td class="nump">1,651,064<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">&#160;General and Administration</a></td>
<td class="nump">9,449,187<span></span>
</td>
<td class="nump">8,625,002<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingCostsAndExpenses', window );">&#160;Total Operating Expenses</a></td>
<td class="nump">12,755,447<span></span>
</td>
<td class="nump">11,613,252<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">LOSS FROM OPERATIONS</a></td>
<td class="num">(11,446,566)<span></span>
</td>
<td class="num">(6,865,149)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>OTHER INCOME (EXPENSES):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(7,159)<span></span>
</td>
<td class="num">(9,191)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">212,007<span></span>
</td>
<td class="nump">9,557<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total Other Income (Expenses)</a></td>
<td class="nump">204,848<span></span>
</td>
<td class="nump">366<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">NET LOSS</a></td>
<td class="num">(11,241,718)<span></span>
</td>
<td class="num">(6,864,783)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>REVENUES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total Revenues</a></td>
<td class="nump">3,618,022<span></span>
</td>
<td class="nump">11,190,292<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldAbstract', window );"><strong>COST OF REVENUES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">&#160;Total Cost of Revenues</a></td>
<td class="nump">4,352,247<span></span>
</td>
<td class="nump">8,376,649<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ServiceOtherMember', window );">Service, Other [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>REVENUES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total Revenues</a></td>
<td class="nump">3,853,176<span></span>
</td>
<td class="nump">3,822,074<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldAbstract', window );"><strong>COST OF REVENUES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">&#160;Total Cost of Revenues</a></td>
<td class="nump">$ 1,810,070<span></span>
</td>
<td class="nump">$ 1,887,614<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSoldAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSoldAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingCostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Excludes Selling, General and Administrative Expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingCostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ServiceOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ServiceOtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037995225520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net loss per share, Basic</a></td>
<td class="num">$ (1.56)<span></span>
</td>
<td class="num">$ (1.11)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net loss per share, Diluted</a></td>
<td class="num">$ (1.56)<span></span>
</td>
<td class="num">$ (1.11)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares, Basic</a></td>
<td class="nump">7,204,177<span></span>
</td>
<td class="nump">6,175,193<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average shares, Diluted</a></td>
<td class="nump">7,204,177<span></span>
</td>
<td class="nump">6,175,193<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037898004112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY - USD ($)<br></strong></div></th>
<th class="th"><div>Preferred Stock B [Member]</div></th>
<th class="th"><div>Preferred Stock C [Member]</div></th>
<th class="th"><div>Preferred Stock D [Member]</div></th>
<th class="th"><div>Preferred Stock E [Member]</div></th>
<th class="th"><div>Preferred Stock F [Member]</div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Treasury Stock, Common [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Dec. 31, 2021</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 4,111<span></span>
</td>
<td class="nump">$ 46,431,874<span></span>
</td>
<td class="num">$ (45,497,051)<span></span>
</td>
<td class="num">$ (157,452)<span></span>
</td>
<td class="nump">$ 781,485<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance, shares at Dec. 31, 2021</a></td>
<td class="nump">851<span></span>
</td>
<td class="nump">2,500<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">4,111,047<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesCPreferredStockConvertedToCommonStock', window );">Series C preferred stock converted to common stock</a></td>
<td class="text"> <span></span>
</td>
<td class="num">$ (2)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 455<span></span>
</td>
<td class="num">(453)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesCPreferredStockConvertedToCommonStockShares', window );">Series C preferred stock converted to common stock, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,500)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">454,546<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesBPreferredStockConvertedToCommonStock', window );">Series B preferred stock converted to common stock</a></td>
<td class="num">$ (1)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 122<span></span>
</td>
<td class="num">(121)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesBPreferredStockConvertedToCommonStockShares', window );">Series B preferred stock converted to common stock, shares</a></td>
<td class="num">(851)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">121,572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesDPreferredStockConvertedToCommonStock', window );">Series D preferred stock converted to common stock</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,298,999<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,299,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesDPreferredStockConvertedToCommonStockShares', window );">Series D preferred stock converted to common stock, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">819,191<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">819,191<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueOther', window );">Common stock issued for cash</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 2,425<span></span>
</td>
<td class="nump">8,798,579<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">8,801,004<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesOther', window );">Common stock issued for cash, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,425,752<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Stock issuance cost</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(942,926)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(942,926)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock issued for services</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 43<span></span>
</td>
<td class="nump">157,457<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">157,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock issued for services, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">43,959<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(6,864,783)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(6,864,783)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance, value at Dec. 31, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 7,156<span></span>
</td>
<td class="nump">56,562,600<span></span>
</td>
<td class="num">(52,361,834)<span></span>
</td>
<td class="num">(157,452)<span></span>
</td>
<td class="nump">4,050,471<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Dec. 31, 2022</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">7,156,876<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesEPreferredStockIssued', window );">Series E preferred stock issued</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 7<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">6,499,993<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">6,500,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesEPreferredStockIssuedShares', window );">Series E preferred stock issued, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesFPreferredStockIssued', window );">Series F preferred stock issued</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 5<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">4,999,995<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesFPreferredStockIssuedShares', window );">Series F preferred stock issued, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesFPreferredStockConvertedToSeriesEPreferred', window );">Series F preferred stock exchanged for Series E preferred</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 5<span></span>
</td>
<td class="num">$ (5)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares', window );">Series F preferred stock converted to Series E preferred, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="num">(5,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">573,441<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">573,441<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Stock issuance cost</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(25,797)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(25,797)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock issued for services</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 38<span></span>
</td>
<td class="nump">143,027<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">143,065<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock issued for services, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38,249<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation', window );">Stock issued under the Employee Stock Purchase Plan for cash and compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 112<span></span>
</td>
<td class="nump">366,940<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">367,052<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares', window );">Stock issued under the Employee Stock Purchase Plan for cash and compensation, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">111,538<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(11,241,718)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(11,241,718)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance, value at Dec. 31, 2023</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 12<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 7,306<span></span>
</td>
<td class="nump">$ 69,120,199<span></span>
</td>
<td class="num">$ (63,603,552)<span></span>
</td>
<td class="num">$ (157,452)<span></span>
</td>
<td class="nump">$ 5,366,514<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Dec. 31, 2023</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">7,306,663<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesBPreferredStockConvertedToCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesBPreferredStockConvertedToCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesBPreferredStockConvertedToCommonStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesBPreferredStockConvertedToCommonStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesCPreferredStockConvertedToCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesCPreferredStockConvertedToCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesCPreferredStockConvertedToCommonStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesCPreferredStockConvertedToCommonStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesDPreferredStockConvertedToCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesDPreferredStockConvertedToCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesDPreferredStockConvertedToCommonStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesDPreferredStockConvertedToCommonStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesEPreferredStockIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesEPreferredStockIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesEPreferredStockIssuedShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesEPreferredStockIssuedShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesFPreferredStockConvertedToSeriesEPreferred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesFPreferredStockConvertedToSeriesEPreferred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesFPreferredStockIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesFPreferredStockIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesFPreferredStockIssuedShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesFPreferredStockIssuedShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued attributable to transactions classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of shares of stock issued attributable to transactions classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037899491920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingCashFlowsDirectMethodAbstract', window );"><strong>Cash from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (11,241,718)<span></span>
</td>
<td class="num">$ (6,864,783)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract', window );"><strong>Adjustments to reconcile net loss to net cash used in operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">550,201<span></span>
</td>
<td class="nump">350,192<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock based compensation</a></td>
<td class="nump">710,047<span></span>
</td>
<td class="nump">819,191<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_StockIssuedForServices', window );">Stock issued for services</a></td>
<td class="nump">143,065<span></span>
</td>
<td class="nump">157,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Amortization of operating lease right of use asset</a></td>
<td class="nump">316,776<span></span>
</td>
<td class="nump">235,834<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract', window );"><strong>Changes in assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInReceivables', window );">&#160;&#160;&#160;Accounts receivable</a></td>
<td class="nump">1,955,800<span></span>
</td>
<td class="num">(1,679,720)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_IncreaseDecreaseInNotesReceivable', window );">&#160;&#160;&#160;Note receivable</a></td>
<td class="num">(153,750)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">&#160;&#160;&#160;Contract assets</a></td>
<td class="num">(216,225)<span></span>
</td>
<td class="num">(422,273)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">&#160;&#160;&#160;Inventory</a></td>
<td class="num">(97,804)<span></span>
</td>
<td class="num">(1,130,022)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInSecurityDeposits', window );">&#160;&#160;&#160;Security deposit</a></td>
<td class="nump">50,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">&#160;&#160;&#160;Prepaid expenses and other current assets</a></td>
<td class="nump">744,771<span></span>
</td>
<td class="nump">266,539<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade', window );">&#160;&#160;&#160;Accounts payable</a></td>
<td class="num">(1,694,756)<span></span>
</td>
<td class="nump">1,245,890<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">&#160;&#160;&#160;Accrued expenses</a></td>
<td class="num">(289,209)<span></span>
</td>
<td class="num">(165,069)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">&#160;&#160;&#160;Operating lease obligation</a></td>
<td class="num">(232,007)<span></span>
</td>
<td class="nump">184,728<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">&#160;&#160;&#160;Contract liabilities</a></td>
<td class="nump">708,245<span></span>
</td>
<td class="num">(871,314)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(8,746,564)<span></span>
</td>
<td class="num">(7,873,307)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">&#160;&#160;&#160;&#160;Purchase of patents/trademarks</a></td>
<td class="num">(69,327)<span></span>
</td>
<td class="num">(18,190)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToDevelopSoftware', window );">&#160;&#160;&#160;&#160;Purchase of software development</a></td>
<td class="num">(527,896)<span></span>
</td>
<td class="num">(281,783)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">&#160;&#160;&#160;&#160;Purchase of fixed assets</a></td>
<td class="num">(496,686)<span></span>
</td>
<td class="num">(344,915)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(1,093,909)<span></span>
</td>
<td class="num">(644,888)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_RepaymentsOfInsuranceAndEquipmentFinancing', window );">&#160;&#160;&#160;Repayments of insurance and equipment financing</a></td>
<td class="num">(520,529)<span></span>
</td>
<td class="num">(331,175)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_RepaymentsOfLongTermCapitalLeaseObligation', window );">&#160;&#160;&#160;Repayment of finance lease</a></td>
<td class="num">(22,851)<span></span>
</td>
<td class="num">(80,335)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ProceedsFromIssuanceOfCommonStocks', window );">&#160;&#160;&#160;Proceeds from common stock issued</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">8,801,003<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_IssuanceCosts', window );">&#160;&#160;&#160;Issuance cost</a></td>
<td class="num">(25,797)<span></span>
</td>
<td class="num">(942,926)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans', window );">&#160;&#160;&#160;Proceeds from shares issued under Employee Stock Purchase Plan</a></td>
<td class="nump">230,400<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOrSaleOfEquity', window );">&#160;&#160;&#160;Proceeds from preferred stock issued</a></td>
<td class="nump">11,500,000<span></span>
</td>
<td class="nump">1,299,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">11,161,223<span></span>
</td>
<td class="nump">8,745,567<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net increase in cash</a></td>
<td class="nump">1,320,750<span></span>
</td>
<td class="nump">227,372<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, beginning of year</a></td>
<td class="nump">1,121,092<span></span>
</td>
<td class="nump">893,720<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, end of year</a></td>
<td class="nump">2,441,842<span></span>
</td>
<td class="nump">1,121,092<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental Disclosure of Cash Flow Information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="nump">7,159<span></span>
</td>
<td class="nump">9,292<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Taxes paid</a></td>
<td class="nump">29,085<span></span>
</td>
<td class="nump">1,264<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Supplemental Non-Cash Investing and Financing Activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesIssued1', window );">Notes issued for financing of insurance premiums</a></td>
<td class="nump">$ 487,929<span></span>
</td>
<td class="nump">$ 353,244<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_IncreaseDecreaseInNotesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_IncreaseDecreaseInNotesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_IssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_IssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ProceedsFromIssuanceOfCommonStocks">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ProceedsFromIssuanceOfCommonStocks</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_RepaymentsOfInsuranceAndEquipmentFinancing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_RepaymentsOfInsuranceAndEquipmentFinancing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_RepaymentsOfLongTermCapitalLeaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_RepaymentsOfLongTermCapitalLeaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_StockIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_StockIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableTrade</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInSecurityDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in security deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInSecurityDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value of notes issued in noncash investing and financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingCashFlowsDirectMethodAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingCashFlowsDirectMethodAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToDevelopSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the development or modification of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToDevelopSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOrSaleOfEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of common stock, preferred stock, treasury stock, stock options, and other types of equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOrSaleOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the financed defined contribution plan to acquire shares of the entity. The plan initially holds the shares in a suspense account, which is collateral for the loan. As the plan makes payment on the debt, the shares are released from the suspense account and become available to be allocated to participant accounts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037995471072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure [Table]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss) Attributable to Parent</a></td>
<td class="num">$ (11,241,718)<span></span>
</td>
<td class="num">$ (6,864,783)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037899589488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_InsiderTradingArrLineItems', window );"><strong>Insider Trading Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_InsiderTradingArrLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_InsiderTradingArrLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900548976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</a></td>
<td class="text"><p id="xdx_800_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zAyIFeIS9r97" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 1 &#8211; <span id="xdx_82F_zGGlc4jnUlxj">NATURE OF OPERATIONS AND SUMMARY
OF SIGNIFICANT ACCOUNTING POLICIES</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_849_ecustom--NatureOfOperationsPolicyTextBlock_zXRXpZsRrDpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_864_zAt9lbVBSfg5">Nature of Operations</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Duos Technologies Group, Inc. (the &#8220;Company&#8221;),
through its operating subsidiaries, Duos Technologies, Inc. (&#8220;Duos&#8221;) and TrueVue360, Inc. (&#8220;TrueVue360&#8221;) (collectively
the &#8220;Company&#8221;), is a company that specializes in machine vision and artificial intelligence to analyze fast moving objects
such as trains, trucks, automobiles, and aircraft. This technology can help improve safety, maintenance, and operating metrics.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company is the inventor of the Railcar Inspection
Portal (RIP) and is currently the rail industry leader for machine vision/camera wayside detection systems that include the use of Artificial
Intelligence at speeds up to 125 mph. The RIP inspects a train at full speed from the top, sides, and bottom looking at FRA/AAR mandated
safety inspection points. The system also detects illegal riders that assists law enforcement agencies. Each rail car is scanned with
machine vision cameras and other sensors from the top, sides, and bottom and images are produced within seconds of passing that can be
used by the customer to help prevent derailments, improve maintenance operations, and assist with security. The Company self-performs
all aspects of hardware, software, IT, and Artificial Intelligence development and engineering and holds several patents and maintains
significant intellectual property. The Company also has a proprietary portfolio of over 48 Artificial Intelligence &#8220;Use Cases&#8221;
that automatically flag defects. The Company has deployed this system with several Class 1 and passenger customers and anticipates an
increased demand in the future from rail operators, car owners, shippers, and law enforcement agencies.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has also developed the Automated Logistics
Information System (ALIS) which automates gatehouse operations where trucks enter and exit large logistics and intermodal facilities.
This solution also incorporates sensors and data points as necessary for each operation and directly interconnects with backend logistics
databases and processes to streamline operations and significantly improve operations and security and, importantly, dramatically improves
throughput on each lane on which the technology is deployed. The Company expects to deploy an upgraded Truck Inspection Portal (TIP) which
uses the same technology and lessons learned from the ALIS and RIP systems.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s strategy is to expand our existing
customer base in the Class 1, short line, and passenger space in North America; expand our subscription offering to car owners and shippers;
and expand operations to meet the demand from international customers. The Company has prepared to respond and scale if necessary to react
to increased demand from potential regulations that may be imposed around wayside detection technology. In the future the Company may
put more emphasis on the trucking and intermodal sector with an updated Truck Inspection Portal solution. The Company continues to focus
on operational and technical excellence, customer satisfaction, and maintaining a highly skilled and performance-based work force.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>









<p id="xdx_84B_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zUfUtWLWS0Zc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_868_zMtCYRXsyPH9">Principles of Consolidation</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The consolidated financial statements include the
accounts of the Company and its wholly owned subsidiaries, Duos Technologies, Inc. and TrueVue360, Inc. All inter-company transactions
and balances are eliminated in consolidation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p id="xdx_84D_eus-gaap--UseOfEstimates_zjWxKP3Ab3zk" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86E_z4DtWb0Q80i3">Use of Estimates</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from these
estimates. The most significant estimates in the accompanying consolidated financial statements include the allowance on accounts receivable
and notes receivable, valuation of common stock warrants received in exchange for an asset sale, valuation of deferred tax assets, valuation
of intangible and other long-lived assets, estimates of net contract revenues and the total estimated costs to determine progress towards
contract completion, valuation of inventory, estimates of the valuation of right of use assets and corresponding lease liabilities, valuation
of warrants issued with debt and valuation of stock-based awards. We base our estimates on historical experience and on various other
assumptions that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the
carrying values of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_845_eus-gaap--ConcentrationRiskCreditRisk_zZc51sYaEjp8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_z08RsoUelm7b">Concentrations</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Cash Concentrations</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Cash is maintained at financial institutions and at
times, balances may exceed federally insured limits. We have not experienced any losses related to these balances. As of December 31,
2023, the Company had balances in a financial institution which combined exceeded federally insured limits by approximately $<span id="xdx_909_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20231231_zF3MQdap36a9" title="Federally insured limits">1,948,794</span>.
Any loss incurred or a lack of access to such funds could have a significant adverse impact on the Company&#8217;s consolidated financial
condition, results of operation and cash flows.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>
















<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Significant Customers and Concentration of Credit
Risk</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company had certain customers
whose revenue individually represented 10% or more of the Company&#8217;s total revenue, or whose accounts receivable balances individually
represented 10% or more of the Company&#8217;s total accounts receivable, as follows:</p>

<p style="font: 8pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For the year ended December 31, 2023, three customers
accounted for <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zGHcHaR8IsZe" title="Concentration risk, percentage">48</span>%,
<span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z7xuwhpXOB42" title="Concentration risk, percentage">30</span>%,
and <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zEAx2hbkbKJ9" title="Concentration risk, percentage">11</span>%
of revenues. For the year ended December 31, 2022, four customers accounted for <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zovlM5YeRNDl" title="Concentration risk, percentage">42</span>%,
<span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zcVX9pOn7sdd" title="Concentration risk, percentage">18</span>%,
<span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zS2jjiU3CUJ7" title="Concentration risk, percentage">14</span>%
and <span id="xdx_908_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zRbVhThOIvWi" title="Concentration risk, percentage">14</span>%
of revenues. In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a rail inspection
portal which, once accepted, must be paid in full, with <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zgLnTfA5JhR9">30</span>%
or more being due and payable prior to delivery. The balances of the contracts are for service and maintenance which is paid annually
in advance with revenues recorded ratably over the contract period.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023, two customers accounted for
<span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zBfDb7yYA6tb" title="Concentration risk, percentage">83</span>%,
and <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zsXCWzCysqn1" title="Concentration risk, percentage">11</span>%,
of accounts receivable. At December 31, 2022, four customers accounted for <span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z5ccrrlmlLP1" title="Concentration risk, percentage">34</span>%,
<span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zTDB5At17REf" title="Concentration risk, percentage">31</span>%,
<span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWWUbQ7R73yd" title="Concentration risk, percentage">19</span>%
and <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zPZrKe5gGQBk" title="Concentration risk, percentage">10</span>%
of accounts receivable. Much of the credit risk is mitigated since all of the customers listed here are Class 1 railroads with a history
of timely payments to us.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Geographic Concentration</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Approximately <span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zrDc6wIfUq1l" title="Concentration risk, percentage">44</span>% and <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z869YDkK91J1" title="Concentration risk, percentage">41</span>% of revenue in 2023 and 2022,
respectively, is generated from customers outside of the United States.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Significant Vendors and Concentration of
Credit Risk</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In some instances, the Company relies on a limited
pool of vendors for key components related to the manufacturing of its subsystems. These vendors are primarily focused on camera, server
and lighting technologies integral to the Company&#8217;s solution. Where possible, the Company seeks multiple vendors for key components
to mitigate vendor concentration risk.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

















<p id="xdx_847_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_z9lCOHVBVl21" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_zI7m7WXhXIkg">Fair Value of Financial Instruments and Fair
Value Measurements</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company follows Accounting Standards Codification
(&#8220;ASC&#8221;) 820, &#8220;Fair Value Measurements and Disclosures&#8221; (&#8220;ASC 820&#8221;), for assets and liabilities measured
at fair value on a recurring basis. ASC 820 establishes a common definition for fair value to be applied to existing generally accepted
accounting principles that requires the use of fair value measurements, establishes a framework for measuring fair value and expands disclosure
about such fair value measurements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">ASC&#160;820 defines fair value as the price that
would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement
date. Additionally, ASC&#160;820 requires the use of valuation techniques that maximize the use of observable inputs and minimize the
use of unobservable inputs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">These inputs are prioritized below:&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 10%; text-align: justify">Level 1:</td>
    <td style="width: 90%">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify">Observable inputs such as quoted market
    prices in active markets for identical assets or liabilities</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">Level 2:</td>
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify">Observable market-based inputs or unobservable
    inputs that are corroborated by market data</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify">&#160;</p></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">Level 3:</td>
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Unobservable inputs for which there is little
or no market data, which require the use of the reporting entity&#8217;s own assumptions that the market participants would use in the
valuation of the asset or liability based on the best available information.</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company analyzes all financial instruments with
features of both liabilities and equity under the Financial Accounting Standard Board&#8217;s (&#8220;FASB&#8221;) accounting standard
for such instruments. Under this standard, financial assets and liabilities are classified in their entirety based on the lowest level
of input that is significant to the fair value measurement.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The estimated fair value of certain financial instruments,
including accounts receivable, prepaid expenses, accounts payable, accrued expenses and notes payable are carried at historical cost basis,
which approximates their fair values because of the short-term nature of these instruments.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_849_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zPQH94fN8cs1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zseM016u5fra">Accounts Receivable</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On January 1, 2023, the Company adopted ASC 326, "Financial
Instruments - Credit Losses". In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make required payments (current expected losses). The amount of the allowance is determined
principally on the basis of past collection experience and known financial factors regarding specific customers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accounts receivable are stated at estimated net realizable
value. Accounts receivable are comprised of balances due from customers net of estimated allowances for uncollectible accounts. In determining
the collections on the account, historical trends are evaluated, and specific customer issues are reviewed to arrive at appropriate allowances.
The Company reviews its accounts to estimate losses resulting from the inability of its customers to make required payments. Any required
allowance is based on specific analysis of past due accounts and also considers historical trends of write-offs. Past due status is based
on how recently payments have been received from customers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p id="xdx_844_eus-gaap--InventoryPolicyTextBlock_zrSvM8WGjsJ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zW8SQpCTxEAg">Inventory</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Inventory consists primarily of spare parts and consumables
and long-lead time components to be used in the production of our technology systems or in connection with maintenance agreements with
customers. Any inventory deemed to be obsolete is written off. Inventory is stated at the lower of cost or net realizable value. Inventory
cost is primarily determined using the weighted average cost method.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zj0Nwe7QIUcl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_zlunIuRRXpni">Property and Equipment</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Property and equipment are stated at cost, less accumulated
depreciation. Depreciation is provided by the straight-line method over the estimated economic life of the property and equipment (three
<span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MinimumMember_zDD1NxkwAnKg" style="display: none" title="Estimated economic life of the property and equipment">3</span> to five <span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MaximumMember_zaT3mbVqX9ed" style="display: none" title="Estimated economic life of the property and equipment">5
</span>years). When assets are sold or retired, their costs and accumulated depreciation are eliminated from the accounts and any gain
or loss resulting from their disposal is included in the statement of operations. Leasehold improvements are expensed over the shorter
of the term of our lease or their useful lives.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_843_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zIfAonS06TA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_z3wzTvenYp4f">Software Development Costs</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Software development costs incurred prior to
establishing technological feasibility are charged to operations and included in research and development costs. The technological feasibility
of a software product is established when the Company has completed all planning, designing, coding, and testing activities that are necessary
to establish that the product meets its design specifications, including functionality, features, and technical performance requirements.
Software development costs incurred after establishing technological&#160;feasibility for software sold as a perpetual license, as defined
within ASC 985-20 (Software &#8211; Costs of Software to be Sold, Leased, or Marketed) are capitalized and amortized on a product-by-product
basis when the product is available for general release to customers. Software development costs are evaluated for impairment annually by comparing the net realizable value to the unamortized
capitalization costs and writing these costs down to net realizable value.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_848_ecustom--PatentsAndTrademarksPolicyTextBlock_z0F57Zo0O0sk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_867_ztrU0S0u2Xtk">Patents and Trademarks</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Patents and trademarks which are stated at amortized
cost, relate to the development of video surveillance security system technology and are being amortized over <span id="xdx_902_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--IndefiniteLivedIntangibleAssetsByMajorClassAxis__custom--PatentsAndTrademarksMember_zMJChkBjc8hj" title="Estimated economic life of the property and equipment">17</span> years.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p id="xdx_84C_ecustom--LonglivedAssetsTextBlock_zqtK3pJaGOe2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86F_zvjjsMs4HA7c">Long-Lived Assets</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company evaluates the recoverability of its property,
equipment, and other long-lived assets in accordance with FASB ASC 360-10-35-15 &#8220;Impairment or Disposal of Long-Lived Assets&#8221;,
which requires recognition of impairment of long-lived assets in the event the net book values of such assets exceed the estimated future
undiscounted cash flows attributable to such assets or the business to which such intangible assets relate. This guidance requires that
long-lived assets and certain identifiable intangibles be reviewed for impairment whenever events or changes in circumstances indicate
that the carrying amount of an asset may not be recoverable. Recoverability of assets to be held and used is measured by a comparison
of the carrying amount of an asset to future undiscounted net cash flows expected to be generated by the asset. If such assets are considered
to be impaired, the impairment to be recognized is measured by the amount by which the carrying amount of the assets exceeds the fair
value of the assets. Assets to be disposed of are reported at the lower of the carrying amount or fair value less costs to sell.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_84F_eus-gaap--GuaranteesIndemnificationsAndWarrantiesPolicies_zfeofnSsdzS2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_z7W5NeSi5Uqa">Product Warranties</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has a <span id="xdx_907_ecustom--ProductWarrantyPeriod_dtD_c20230101__20231231_zUkE3EHSCq86" title="Product warranty Period">90</span>-day warranty period for materials
and labor after final acceptance of a project. If any parts are defective they are replaced under our vendor warranty which is usually
<span id="xdx_90E_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zuENoH5e9ZM" title="Product warranty Period">12</span> to <span id="xdx_907_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zub7jm7QgrDl" title="Product warranty Period">36</span> months. Final acceptance terms vary by customer. Some customers have a cure period for any material deviation and if the Company
fails or is unable to correct any deviations, a full refund of all payments made by the customer will be arranged by the Company. As of
December 31, 2023 and 2022, the warranty costs have been de-minimis, therefore no accrual of warranty liability has been made.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_848_eus-gaap--LoanCommitmentsPolicy_zJdPJN2rFaTk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86C_zV5Osec0t4Ae">Loan Costs</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Loan costs paid to lenders, or third parties are recorded
as debt discounts to the related loans and amortized to interest expense over the loan term.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_842_ecustom--SalesReturnPolicyTextBlock_zim7mza9X18j" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zp4sRIgABlwi">Sales Returns</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our systems are sold as integrated systems and there
are no sales returns allowed.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_84D_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zPOCJzKA4q6k" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86E_zgCQFOQ7o79f">Revenue Recognition</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company follows Accounting Standards Codification
606, Revenue from Contracts with Customers (&#8220;ASC 606&#8221;), that affects the timing of when certain types of revenues will be
recognized. The basic principles in ASC 606 include the following: a contract with a customer creates distinct contract assets and performance
obligations, satisfaction of a performance obligation creates revenue, and a performance obligation is satisfied upon transfer of control
to a good or service to a customer.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Revenue is recognized by evaluating our revenue contracts
with customers based on the five-step model under ASC 606:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">1.</td>
    <td style="text-align: justify">Identify the contract with the customer;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">2.</td>
    <td style="text-align: justify">Identify the performance obligations in the contract;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">3.</td>
    <td style="text-align: justify">Determine the transaction price;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">4.</td>
    <td style="text-align: justify">Allocate the transaction price to separate performance obligations; and</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">5.</td>
    <td style="text-align: justify">Recognize revenue when (or as) each performance obligation is satisfied.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company generates revenue from four sources: (1)
Technology Systems; (2) AI Technologies; (3) Technical Support and (4) Consulting services.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Technology Systems</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For revenues related to technology systems, the Company
recognizes revenue over time using a cost-based input methodology in which significant judgment is required to estimate costs to complete
projects. These estimated costs are then used to determine the progress towards contract completion and the corresponding amount of revenue
to recognize.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accordingly, the Company now bases its revenue recognition
on ASC 606-10-25-27, where control of a good or service transfers over time if the entity&#8217;s performance does not create an asset
with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date including a
profit margin or reasonable return on capital. Control is deemed to pass to the customer instantaneously as the goods are manufactured
and revenue is recognized accordingly.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In addition, the Company has adopted ASC 606-10-55-21
such that if the cost incurred is not proportionate to the progress in satisfying the performance obligation, we adjust the input method
to recognize revenue only to the extent of the cost incurred. Therefore, the Company will recognize revenue at an equal amount to the
cost of the goods to satisfy the performance obligation. To accurately reflect revenue recognition based on the input method, the Company
has adopted the implementation guidance as set out in ASC-606-10-55-187 through 192.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under this method, contract revenues are recognized
over the performance period of the contract in direct proportion to the costs incurred. Costs include direct material, direct labor, subcontract
labor and other allocable indirect costs. All un-allocable indirect costs and corporate general and administrative costs are also charged
to the periods as incurred. Any recognized revenues that have not been billed to a customer are recorded as an asset in &#8220;contract
assets&#8221;. Any billings of customers more than recognized revenues are recorded as a liability in &#8220;contract liabilities&#8221;.
However, in the event a loss on a contract is foreseen, the Company will recognize the loss when such loss is determined to be both probable and reasonably estimable.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>AI Technologies</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has revenue from applications that incorporate
artificial intelligence (AI) in the form of predetermined algorithms which provide important operating information to the users of our
systems. The revenue generated from these applications of AI consists of a fixed fee related to the design, development, testing and incorporation
of new algorithms into the system, which is recognized as revenue at a point in time upon acceptance, as well as an annual application
maintenance fee, which is recognized as revenue ratably over the contracted maintenance term.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Technical Support</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Technical support services are provided on both an
as-needed and extended-term basis and may include providing both parts and labor. Maintenance and technical support provided outside of
a maintenance contract are on an &#8220;as-requested&#8221; basis, and revenue is recognized over time as the services are provided. Revenue
for maintenance and technical support provided on an extended-term basis is recognized over time ratably over the term of the contract.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Consulting Services</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s consulting services business generates
revenues under contracts with customers from four sources: (1) Professional Services (consulting and auditing); (2) Software licensing
with optional hardware sales; (3) Customer service training and (4) Maintenance support.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(1) Revenues for professional services,
which are of short-term duration, are recognized when services are completed;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(2) For all periods reflected in this report,
software license sales have been one-time sales of a perpetual license to use our software product and the customer also has the option
to purchase third-party manufactured handheld devices from us if they purchase our software license. Accordingly, the revenue is recognized
upon delivery of the software and delivery of the hardware, as applicable, to the customer;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(3) Training sales are one-time upfront
short-term training sessions and are recognized after the service has been performed; and</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(4) Maintenance/support is an optional product
sold to our software license customers under one-year contracts. Accordingly, maintenance payments received upfront are deferred and recognized
over the contract term.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_847_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zZz5gFzVpcDk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span id="xdx_862_zVnP06OFRFW8">Multiple Performance Obligations and Allocation
of Transaction Price</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Arrangements with customers may involve multiple performance
obligations including project revenue and maintenance services in our Technology Systems business. Maintenance will occur after the project
is completed and may be provided on an extended-term basis or on an as-needed basis. In our consulting services business, multiple performance
obligations may include any of the above four sources. Training and maintenance on software products may occur after the software product
sale while other services may occur before or after the software product sale and may not relate to the software product. Revenue recognition
for a multiple performance obligations arrangement is as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Each performance obligation is accounted for separately
when each has value to the customer on a standalone basis and there is Company specific objective evidence of the selling price of each
deliverable. For revenue arrangements with multiple deliverables, the Company allocates the total customer arrangement to the separate
units of accounting based on their relative selling prices as determined by the price of the items when sold separately. Once the selling
price is allocated, the revenue for each performance obligation is recognized using the applicable criteria under GAAP as discussed above
for performance obligations sold in single performance obligation arrangements. A delivered item or items that do not qualify as a separate
unit of accounting within the arrangement are combined with the other applicable undelivered items within the arrangement. The allocation
of arrangement consideration and the recognition of revenue is then determined for those combined deliverables as a single unit of accounting.
The Company sells its various services and software and hardware products at established prices on a standalone basis which provides Company
specific objective evidence of selling price for purposes of performance obligations relative selling price allocation. The Company only
sells maintenance services or spare parts based on its established rates after it has completed a system integration project for a customer.
The customer is not required to purchase maintenance services. All elements in multiple performance obligations arrangements with Company
customers qualify as separate units of account for revenue recognition purposes.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p id="xdx_84C_eus-gaap--AdvertisingCostsPolicyTextBlock_zoIXVg8nXDrb" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zRdxLxwmpvog">Advertising</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company expenses the cost of advertising.
During the years ended December 31, 2023 and 2022, there were <span id="xdx_903_eus-gaap--AdvertisingExpense_pp0p0_do_c20230101__20231231_zAS1TJJEfKg7" title="Advertising costs"><span id="xdx_904_eus-gaap--AdvertisingExpense_pp0p0_do_c20220101__20221231_zcyTeVx4V0T1" title="Advertising costs">no</span></span> advertising costs.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p id="xdx_849_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_zUZ26uXEVFmg" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_86F_zZ2LrI0Vm7zj">Stock Based Compensation</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company accounts for employee and non-employee
stock-based compensation in accordance with ASC 718-10, &#8220;<i>Share-Based Payment</i>,&#8221; which requires the measurement and recognition
of compensation expense for all share-based payment awards made to employee and directors including stock options, restricted stock units,
and employee stock purchases based on estimated fair values. The stock-based compensation carries a graded vesting feature subject to the condition of time of employment service
with awarded stock-based compensation tranches vesting evenly upon the anniversary date of the award.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company estimates the fair value of stock options
granted using the Black-Scholes option-pricing formula. In accordance with ASC 718-10-35-8, the Company elected to recognize the fair
value of the stock award using the graded vesting method as time of employment service is the criteria for vesting.  The Company&#8217;s
determination of fair value using an option-pricing model is affected by the stock price as well as assumptions regarding a number of
highly subjective variables.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company estimates volatility based upon the
historical stock price of the Company and estimates the expected term for stock options using the simplified method for employees
and directors and the contractual term for non-employees. The risk-free rate is determined based upon the prevailing rate of United States
Treasury securities with similar maturities.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p id="xdx_849_eus-gaap--IncomeTaxPolicyTextBlock_zKFT4vOmoK1j" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zGi6iWpQ5yx">Income Taxes</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company accounts for income taxes in accordance
with the Financial Accounting Standards Board FASB Accounting Standards Codification (&#8220;ASC&#8221;) 740, Income Taxes, which requires
the recognition of deferred income taxes for differences between the basis of assets and liabilities for financial statement and income
tax purposes. The deferred tax assets and liabilities represent the future tax return consequences of those differences, which will either
be taxable or deductible when the assets and liabilities are recovered or settled. Valuation allowances are established when necessary
to reduce deferred tax assets to the amount expected to be realized.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company evaluates all significant tax positions
as required by ASC 740. As of December 31, 2023, the Company does not believe that it has taken any positions that would require the recording
of any additional tax liability, nor does it believe that there are any unrealized tax benefits that would either increase or decrease
within the next year.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Any penalties and interest assessed by income
taxing authorities are included in operating expenses.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The federal and state income tax returns of the
Company are subject to examination by the IRS and state taxing authorities, generally for three years after they were filed. Tax years
2020, 2021 and 2022 remain open for potential audit.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p id="xdx_844_eus-gaap--EarningsPerSharePolicyTextBlock_zzof3cmLpjul" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zpIRIonjKT7">Earnings (Loss) Per Share</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Basic earnings per share (EPS) are computed by dividing
the net loss applicable to common stock by the weighted average number of common shares outstanding. Diluted net loss per common share
is computed by dividing the net loss applicable to common stock by the weighted average number of common shares outstanding for the period
and, if dilutive, potential common shares outstanding during the period. Potential common shares consist of the incremental common shares
issuable upon the exercise or conversion of stock options, stock warrants, convertible debt instruments, convertible preferred stock or
other common stock equivalents. Potentially dilutive securities are excluded from the computation if their effect is anti-dilutive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023, there were (i) an aggregate
of <span id="xdx_903_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zSTHbBwN048j" title="Outstanding warrants">44,644</span> outstanding warrants to purchase shares of common stock, (ii) employee stock options to purchase an aggregate of <span id="xdx_90C_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpQY2Wv5km93" title="Number of incentive stock options">1,387,775</span> shares
of common stock, (iii) <span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zuFJuLf0um82" title="Common shares issuable conversion">433,000</span> common shares issuable upon conversion of Series D Convertible Preferred Stock, (iv) <span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zv9lRPYmCOMb" title="Common shares issuable conversion">3,833,334</span> common shares
issuable upon conversion of Series E Convertible Preferred Stock, and (v) <span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zi9kjnrsrFNf" title="Common shares issuable conversion">0</span> common shares issuable upon conversion of Series F Convertible
Preferred Stock, all of which were excluded from the computation of diluted net earnings per share because their inclusion would have
been anti-dilutive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2022, there was an aggregate of <span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20221231_zpfA2R77oYId" title="Outstanding warrants">147,591</span>
outstanding warrants to purchase shares of common stock aggregate of <span id="xdx_906_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zj75AjQJoNli" title="Number of incentive stock options">926,266</span>
employee stock options to purchase shares of common stock, and <span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20220101__20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zGAUfZXW0TBi" title="Common shares issuable conversion">433,000</span>
common shares were issuable upon conversion of Series D Convertible Preferred Stock, all of which were excluded from the computation
of diluted net  earnings per share because their inclusion would have been anti-dilutive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p id="xdx_849_eus-gaap--LesseeLeasesPolicyTextBlock_zDdVkFIJg1g9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_868_zcAobCWG10M9">Leases</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company follows ASC 842 &#8220;Leases&#8221;.
This guidance requires lessees to recognize right-of-use (&#8220;ROU&#8221;) assets and lease liabilities for most operating leases. In
addition, this guidance requires that lessors separate lease and non-lease components in a contract in accordance with the revenue guidance
in ASC 606.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company made an accounting policy election
to not recognize short-term leases with terms of twelve months or less on the balance sheet and instead recognize the lease payments in
expense as incurred. The Company has also elected to account for real estate leases that contain both lease and non-lease components as
a single lease component.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At the inception of a contract the Company assesses
whether the contract is, or contains, a lease. The Company&#8217;s assessment is based on: (1) whether the contract involves the use of
a distinct identified asset, (2) whether we obtain the right to substantially all the economic benefit from the use of the asset throughout
the period, and (3) whether we have the right to direct the use of the asset.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Operating ROU assets represent the right to use
the leased asset for the lease term and operating lease liabilities are recognized based on the present value of minimum lease payments
over the lease term at commencement date. As most leases do not provide an implicit rate, the Company uses an incremental borrowing rate
based on the information available at the lease commencement date to determine the present value of future payments. The lease term includes
all periods covered by renewal and termination options where the Company is reasonably certain to exercise the renewal options or not
to exercise the termination options. Operating lease expense is recognized on a straight-line basis over the lease term and is included
in general and administration expenses in the consolidated statements of operations.&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zvJ2DrZ7RHa1" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zQEEbeDc8gPd">Recent Accounting Pronouncements</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">From time to time, the FASB or other standards setting
bodies will issue new accounting pronouncements. Updates to the FASB ASC are communicated through issuance of an Accounting Standards
Update (&#8220;ASU&#8221;).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In August 2020, the FASB issued an accounting pronouncement
(ASU 2020-06) related to the measurement and disclosure requirements for convertible instruments and contracts in an entity's own equity.
The pronouncement simplifies and adds disclosure requirements for the accounting and measurement of convertible instruments and the settlement
assessment for contracts in an entity's own equity. This pronouncement is effective for fiscal years, and for interim periods within those
fiscal years, beginning after December 15, 2023. The Company early adopted this pronouncement for our fiscal year beginning January 1,
2022, and it did not have a material effect on our audited consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In May 2021, the FASB issued an accounting pronouncement
(ASU 2021-04) related to modifications or exchanges of freestanding equity-classified written call options (such as warrants) that remain
equity classified after modification or exchange. The pronouncement states that an entity should treat the modification as an exchange
of the original instrument for a new instrument, and the effect of the modification should be calculated as the difference between the
fair value of the modified instrument and the fair value of that instrument immediately before modification. An entity should then recognize
the effect of the modification on the basis of the substance of the transaction, in the same manner as if cash had been paid as consideration.
This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2021.
The pronouncement is applied prospectively to all modifications that occur after the initial date of adoption. We adopted this pronouncement
for our fiscal year beginning January 1, 2022, and it did not have a material effect on our audited consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span>In March 2022,
the FASB issued ASU No. 2022-02,&#160;<i>Financial Instruments-Credit Losses (Topic 326): Troubled Debt Restructurings and Vintage Disclosures</i>.
The guidance was issued as improvements to ASU No. 2016-13. The vintage disclosure changes require an entity to disclose
current-period gross write-offs by year of origination for financing receivables. The guidance is effective for financial statements issued
for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years. The amendments should be applied prospectively.
Early adoption of the amendments is permitted, including adoption in an interim period. The amendments will impact our disclosures but
will not otherwise impact the consolidated financial statements. During 2023, the Company adopted a policy related to Topic 326 whereby
it periodically reviews the collectability and historical write-offs, if any, to evaluate the need for any credit losses or an allowance.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">In November 2023, the FASB issued ASU 2023-07
Segment Reporting (Topic 280): <i>Improvements to Reportable Segment Disclosures</i>. ASU 2023-07 requires companies to disclose significant
segment expenses that are regularly provided to the chief operating decision maker. ASU 2023-07 is effective for annual periods beginning
on January 1, 2024 and interim periods beginning on January 1, 2025. ASU 2023-07 must be applied retrospectively to all prior periods
presented in the financial statements. The Company is evaluating the disclosure impact of ASU 2023-07; however, the standard will not
have an impact on the Company&#8217;s consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">In December 2023, the FASB issued ASU
No. 2023-09 Income Taxes (Topic 740): <i>Improvements to Income Tax Disclosures</i>. ASU 2023-09 requires companies to disclose, on an
annual basis, specific categories in the effective tax rate reconciliation and provide additional information for reconciling items that
meet a quantitative threshold. Further, ASU 2023-09 requires companies to disclose additional information about income taxes paid. ASU
2023-09 is effective for annual periods beginning January 1, 2025 and will be applied on a prospective basis with the option to apply
the standard retrospectively. The Company is evaluating the disclosure impact of ASU 2023-09; however, the standard will not have an
impact on the Company&#8217;s consolidated financial statements.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0">Management does not believe that any other recently issued, but not
yet effective accounting pronouncements, if adopted, would have a material effect on the accompanying financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>













<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 250<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//250/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900482960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LIQUIDITY<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubstantialDoubtAboutGoingConcernTextBlock', window );">LIQUIDITY</a></td>
<td class="text"><p id="xdx_80F_eus-gaap--SubstantialDoubtAboutGoingConcernTextBlock_z98iIFgH9H77" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 2 &#8211; <span id="xdx_829_zwxB5Zsx4Swi">LIQUIDITY</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under Accounting Codification ASC 205, Presentation
of Financial Statements&#8212;Going Concern (Subtopic 205-40) (&#8220;ASC 205-40&#8221;), the Company has the responsibility to evaluate
whether conditions and/or events raise substantial doubt about its ability to meet its future financial obligations as they become due
within one year after the date that the financial statements are issued. As required by ASC 205-40, this evaluation shall initially not
take into consideration the potential mitigating effects of plans that have not been fully implemented as of the date the financial statements
are issued. Management has assessed the Company&#8217;s ability to continue as a going concern in accordance with the requirement of ASC
205-40.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As reflected in the accompanying consolidated financial
statements, the Company had a net loss of $<span id="xdx_90F_eus-gaap--ProfitLoss_c20230101__20231231_zJPcc6Lgmq71" title="Net loss">11,241,718</span> for the year ended December 31, 2023. During the same period, cash used in operating
activities was $8,746,564. The working capital surplus and accumulated deficit as of December 31, 2023, were $<span id="xdx_901_ecustom--WorkingCapitalSurplus_iI_pp0p0_c20231231_zbZjLMTrg0vb" title="Working capital surplus">3,009,842</span> and $<span id="xdx_909_eus-gaap--RetainedEarningsAccumulatedDeficit_iNI_di_c20231231_zX0sVF9EvEK2" title="Accumulated deficit">63,603,552</span>,
respectively. In previous financial reports, the Company had raised substantial doubt about continuing as a going concern. This was principally
due to a lack of working capital prior to an underwritten offerings and a private placement which were completed during the first, third
and fourth quarters of 2022, the first, third and fourth quarters of 2023, as well as the first quarter of 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As previously noted, the Company was successful during
2023 in raising gross proceeds of over $11,500,000 from the sale of Series E and F Preferred Stock. Additionally, late in the first quarter
of 2024, the Company raised gross proceeds of $2,745,000 from the issuance of a combination of Series D and E Preferred Stock (See Note
17). As part of its strategy, the Company will endeavor to utilize the Preferred Series E and the remainder of the Series D as additional
funding mechanisms. Additionally, during the second quarter of 2024, the Company will again have access to its S-3 &#8220;shelf registration&#8221;
statement allowing the Company to sell additional common shares. At the time of this document, the Company estimates that it has available
capacity on its shelf registration which it can utilize to bolster working capital and growth of the business in the event it did not
have an uptake in the preferred classes of shares previously noted. Although additional investment is not assured, the Company is comfortable
that it would be able to raise sufficient capital to support expanded operations based on an anticipated increase in business activity.
In the long run, the continuation of the Company as a going concern is dependent upon the ability of the Company to continue executing
its business plan, generate enough revenue, and attain consistently profitable operations. Although the lingering effects of the global
pandemic related to the coronavirus (Covid-19) previously effected our operations, particularly in our supply chain, we now believe that
 the supply chain lags  have largely been abated. We have analyzed our cash flow under &#8220;stress test&#8221; conditions
and have determined that we have sufficient liquid assets on hand or available via the capital markets to maintain operations for at least
twelve months from the issuance date of this report.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In addition, management has taken and continues to
take actions including, but not limited to, elimination of certain costs that do not contribute to short term revenue, and re-aligning
both management and staffing with a focus on improving certain skill sets necessary to build growth and profitability and focusing product
strategy on opportunities that are likely to bear results in the relatively short term. The Company believes that, with the combination
of commercial sales success, Series E Preferred Stock offering coupled with an S-3 shelf registration availability starting in the second
quarter of 2024, it will have sufficient working capital to meet its obligations over the following twelve months. In the last twelve
months the Company has seen growth in its contracted backlog as well as significant, positive signs from new commercial projects that
indicate improvements in future revenues.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Management believes that, at this time, the conditions
in our market space with ongoing contract delays and the additional time needed to execute on new contracts previously reported have put
a strain on our cash reserves. However, recent private placements as well as the availability to raise capital via its shelf registration
indicate there is no substantial doubt for the Company to continue as a going concern for a period of twelve months. We continue executing
the plan to grow our business and achieve profitability. The Company may selectively look at opportunities for fund raising in the future.
Management has extensively evaluated our requirements for the next 12 months and has determined that the Company currently has sufficient
cash and access to capital to operate for at least that period.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">While no assurance can be provided, management believes
that these actions provide the opportunity for the Company to continue as a going concern and to grow its business and achieve profitability
with access to additional capital funding. Ultimately the continuation of the Company as a going concern is dependent upon the ability
of the Company to continue executing the plan described above which was put in place in late 2022 and will continue in 2024 and beyond.
As a result, we expect to generate sufficient revenue and to attain profitable operations with minimal cash use in the next 12-18 months.
These consolidated financial statements do not include any adjustments related to the recoverability and classification of recorded asset
amounts and classification of liabilities that might be necessary should the Company be unable to continue as a going concern.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubstantialDoubtAboutGoingConcernTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure when substantial doubt is raised about the ability to continue as a going concern. Includes, but is not limited to, principal conditions or events that raised substantial doubt about the ability to continue as a going concern, management's evaluation of the significance of those conditions or events in relation to the ability to meet its obligations, and management's plans that alleviated or are intended to mitigate the conditions or events that raise substantial doubt about the ability to continue as a going concern.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205-40/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubstantialDoubtAboutGoingConcernTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900524864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">ACCOUNTS RECEIVABLE</a></td>
<td class="text"><p id="xdx_80D_eus-gaap--LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_zj4LXbzTMLx" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 3 &#8211; <span id="xdx_82F_z1iNrkwmQHN7">ACCOUNTS RECEIVABLE</span> </b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accounts receivable were as follows at December
31, 2023 and 2022:</p>

<table cellpadding="0" cellspacing="0" id="xdx_88E_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zdqyjlGCJyLh" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B6_ztNI79kOhA9d" style="display: none">Schedule of accounts receivable</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_492_20231231_zdic5sssGdH9" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_498_20221231_zsCfFJTWt6R3" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--AccountsReceivableGross_iI_pp0p0_maARNzo6Q_zobWWKnxuC68" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Accounts receivable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">1,462,463</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,418,263</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AllowanceForDoubtfulAccountsReceivable_iNI_pp0p0_msARNzo6Q_zFZuDqiFF5Ma" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Allowance for doubtful accounts</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0982">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0983">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AccountsReceivableNet_iTI_pp0p0_mtARNzo6Q_zDGRiafeo9p8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Accounts Receivable, Net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,462,463</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,418,263</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There was no bad debt expense during the year ended
December 31, 2023 and 2022.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//310-10/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900482960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY AND EQUIPMENT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">PROPERTY AND EQUIPMENT</a></td>
<td class="text"><p id="xdx_800_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zyfbYjo1kym9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 4 &#8211; <span id="xdx_822_zCcl3EVetx7e">PROPERTY AND EQUIPMENT</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The major classes of property and equipment are as
follows at December 31, 2023 and 2022:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" id="xdx_895_eus-gaap--PropertyPlantAndEquipmentTextBlock_zSroC8Pw23o4" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)">
  <tr style="vertical-align: bottom">
    <td id="xdx_8BE_zw7kD5yJAAi3" style="font-weight: bold; text-align: left"><b style="display: none">Schedule of property and equipment</b></td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_z3DJmEd3N4Ya" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_49C_20221231_zD6lYj3gdk9f" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Furniture &amp; Fixtures</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_z4ywLAYtTIVi" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross">132,018</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_zZZMHpEJExLg" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross">115,238</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Tools and Equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4akS7XLUDvc" style="text-align: right" title="Property, Plant and Equipment, Gross">1,291,673</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4oJQIifsfef" style="text-align: right" title="Property, Plant and Equipment, Gross">1,162,568</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Leasehold Improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zZwDqXFXjwM6" style="text-align: right" title="Property, Plant and Equipment, Gross">298,004</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zivNWbK0FHh2" style="text-align: right" title="Property, Plant and Equipment, Gross">228,404</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Internal Use Software</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zwew147WUeJd" style="border-bottom: Black 1pt solid; text-align: right" title="Property, Plant and Equipment, Gross">381,441</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBj0MIOBu9ee" style="border-bottom: Black 1pt solid; text-align: right" title="Property, Plant and Equipment, Gross">100,241</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_zzA8q4sHRage" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: rgb(204,238,255); font-weight: bold">Property, Plant and Equipment, Gross</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,103,136</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,606,451</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_zwF5bTlvIKm9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated Depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,376,629</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(976,961</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_zgmn9NhVZGoc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt">Property, Equipment and Software, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">726,507</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;$</td><td style="border-bottom: Black 2.5pt double; text-align: right">629,490</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>Internal Use Software consisted of the following:</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center"></td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center"></td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%">Internal Use Software</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zJQO5zbMxIg2" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross">381,441</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zHlPraGCr9k6" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross">100,241</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zcMsWUUtSDR1" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation">(133,149</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zk6RSz7KRO3k" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation">(57,032</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Internal Use Software, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td id="xdx_98E_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zW2Kt6c44Qoj" style="border-bottom: Black 2.5pt double; text-align: right" title="Property, Equipment and Software, net">248,292</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBW4nQ9nrSad" style="border-bottom: Black 2.5pt double; text-align: right" title="Property, Equipment and Software, net">43,209</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="text-align: left; width: 1%">&#160;</td><td style="text-align: right; width: 14%">&#160;</td><td style="text-align: left; width: 1%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="text-align: left; width: 1%">&#160;</td><td style="text-align: right; width: 14%">&#160;</td><td style="text-align: left; width: 1%">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: left">Depreciation Expense:</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property and equipment, excluding internal use software</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98A_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zpm4CM9nJSj6" style="text-align: right" title="Depreciation Expense">315,686</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_987_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z0jR055Lv5G4" style="text-align: right" title="Depreciation Expense">262,895</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Software amortization expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z8WBzqpgLCa7" style="text-align: right" title="Depreciation Expense">84,328</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z1fNkL9oFBz" style="text-align: right" title="Depreciation Expense">57,033</td><td style="text-align: left">&#160;</td></tr>
</table>

<p id="xdx_8A1_zvC5ebZqEfYj" style="margin: 0">&#160;</p>

<p style="margin: 0">The following is a schedule of estimated future depreciation expense of software at December 31, 2023:</p>

<table cellpadding="0" cellspacing="0" id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z2pV4Ah2fEp1" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_8B0_z40gVXtuwdx7" style="display: none; vertical-align: bottom; text-align: left">Schedule of estimated future depreciation expense of software</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 1%; text-align: left">&#160;</td><td style="vertical-align: bottom; width: 48%; text-align: left">2024</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zedjRnf0dtq6" style="width: 47%; text-align: right" title="2024">100,952</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td style="vertical-align: bottom; text-align: left">2025</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z16I3ZHIbOMa" style="text-align: right" title="2025">103,716</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">2026</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zgKAqTaIRNcc" style="border-bottom: Black 1pt solid; text-align: right" title="2026">43,624</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zH4clpDAjkc4" style="border-bottom: Black 2.5pt double; text-align: right" title="Finite lived intangible assets">248,292</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"></p>


<p id="xdx_8A1_zDLDf6kwU4tc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Depreciation <span style="letter-spacing: -0.15pt">expense
</span>in 2023 and 2022 was $<span id="xdx_900_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231_z9G4OrPJU9wi" title="Depreciation expense">315,686</span> and $<span id="xdx_907_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231_zYdmoGKydlU7" title="Depreciation expense">267,959</span>, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900314592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PATENTS AND TRADEMARKS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">PATENTS AND TRADEMARKS</a></td>
<td class="text"><p id="xdx_80F_eus-gaap--IntangibleAssetsDisclosureTextBlock_z4cGFeU3qnf7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 5 &#8211; <span id="xdx_82F_zbpA53lVUyFe">PATENTS AND TRADEMARKS</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock_zn7ezxQUCCf5" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)">
  <tr style="vertical-align: bottom; background-color: White">
    <td id="xdx_8B3_z2gEk0MrYd8d" style="display: none">Schedule of patents and trademarks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49B_20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zmwCSmBzCn31" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_491_20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zMINAN9bOct1" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_maIANEGzIFT_zXINrs0VlYp5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%">Patents</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right">395,472</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right">326,145</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pp0p0_di_msIANEGzIFT_z4BaMquRan94" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated Amortization</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(266,332</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(256,412</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pp0p0_mtIANEGzIFT_zQ66DuvjA993" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt">Patent, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">129,140</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">69,733</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Amortization expense in 2023 and 2022 was $<span id="xdx_90F_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20230101__20231231_zlEI2uaiKPH2" title="Amortization expense">9,920</span> and
$<span id="xdx_90E_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231_zrz2560L9cP7" title="Amortization expense">13,688</span>, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>














<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-30/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900954656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SOFTWARE DEVELOPMENT COSTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock', window );">SOFTWARE DEVELOPMENT COSTS</a></td>
<td class="text"><p id="xdx_808_eus-gaap--ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_z3zauYgRdpVg" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 6 &#8211; <span><span id="xdx_82D_zRWehbDWi8db">SOFTWARE
DEVELOPMENT COSTS</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock_ziuVO20nVdF7" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)">
<tr style="vertical-align: bottom; background-color: White">
    <td id="xdx_8BF_zZGRGI5djF2e" style="display: none">Schedule of software development costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_493_20231231_zrWelByldRL9" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20221231_zCkI2LTPpWE5" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_407_eus-gaap--CapitalizedComputerSoftwareGross_iI_pp0p0_zw0OuzHYmLf8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Software Development</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right">721,309</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right">341,784</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ConstructionInProgress_iI_pp0p0_zatTC9720yQ" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Construction in Progress</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">148,371</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1080">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CapitalizedComputerSoftwareAccumulatedAmortization_iNI_di_zC1j9oH8QMkg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated amortization</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(216,842</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(76,576</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--SoftwareDevelopmentCostsNet_iI_pp0p0_zvVcvoDBXzwc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Software Development, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">652,838</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">265,208</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b>&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Amortization of software development costs in 2023
and 2022 was $<span id="xdx_903_ecustom--AmortizationOfIntangibleAssets1_pp0p0_c20230101__20231231_zHAmcRzdyE7e" title="Amortization of software development costs">140,267</span> and $<span id="xdx_90B_ecustom--AmortizationOfIntangibleAssets1_pp0p0_c20220101__20221231_zMeVcR24CrCj" title="Amortization of software development costs">16,576</span>, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following is a schedule of estimated future amortization expense of software at December 31, 2023:</p>

<table cellpadding="0" cellspacing="0" id="xdx_89F_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z2qOiPb7xvaj" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_8BF_z49rJ9V6EP9c" style="display: none; vertical-align: bottom; text-align: left">Schedule of estimated future amortization expense of software</td><td style="vertical-align: bottom; text-align: left">&#160;</td><td style="text-align: left; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td style="vertical-align: bottom; text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 1%; text-align: left">&#160;</td><td style="vertical-align: bottom; width: 48%; text-align: left">2024</td><td style="vertical-align: bottom; width: 1%; text-align: left">&#160;</td><td style="text-align: left; width: 1%; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z4xyrxPoj3Ef" style="vertical-align: bottom; width: 47%; text-align: right" title="2024">269,893</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td style="vertical-align: bottom; text-align: left">2025</td><td style="vertical-align: bottom; text-align: left">&#160;</td><td style="text-align: left; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zKI1UuruBxfe" style="vertical-align: bottom; text-align: right" title="2025">252,341</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">2026</td><td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: left; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zJokw9JyB1ai" style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: right" title="2026">130,604</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zgBqB9USMiec" style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: right" title="Finite lived intangible assets">652,838</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A8_zSfjv1qjr65d" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Depreciation of software cost in 2023 and 2022 was
$<span id="xdx_908_ecustom--DepreciationOfSoftwareCost_c20230101__20231231_zwTKk7HTM8md" title="Depreciation of software cost">84,328</span> and $<span id="xdx_904_ecustom--DepreciationOfSoftwareCost_c20220101__20221231_zmLRGatGaded" title="Depreciation of software cost">57,033</span>. respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483041/730-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 985<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//985-730/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037899342320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">DEBT</a></td>
<td class="text"><p id="xdx_808_eus-gaap--DebtDisclosureTextBlock_zl2emwf6mkIl" style="font: 10pt Times New Roman, Times, Serif; margin: 0 5.75pt 0 0; text-align: justify"><b>NOTE 7 &#8211; <span id="xdx_821_zwRhvO2YiWWe">DEBT</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0 5.75pt 0 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Notes Payable &#8211; Insurance Premium
Financing Agreements</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s notes payable relating to
financing agreements classified as current liabilities consist of the following as of:</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfDebtTableTextBlock_zK75x1pxQGld" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - DEBT (Details - Notes payable - financing agreements)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B2_z2Cmk1QBcTj4" style="display: none">Schedule of notes payable</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: justify">Notes Payable</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Principal</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Principal</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Third Party - Insurance Note 1</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z2HQnybEi9i9" style="text-align: right" title="Notes payable, Principal"><span style="-sec-ix-hidden: xdx2ixbrl1110">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zNffnZZEcDdl" style="text-align: right" title="Notes payable, Principal"><span style="-sec-ix-hidden: xdx2ixbrl1112">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 48%; text-align: justify">Third Party - Insurance Note 2</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zd0M1vI97Tqe" style="width: 10%; text-align: right" title="Notes payable, Principal">39,968</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_90F_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zflu7comBI0f" title="Notes payable, Interest">8.00</span></td><td style="width: 1%; text-align: left">%</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zsziLDy1zaTi" style="width: 10%; text-align: right" title="Notes payable, Principal">17,753</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_90B_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zT4AYWui57p9" title="Notes payable, Interest">6.24</span></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Third Party - Insurance Note 3</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zEDbXSwhk6e6" style="text-align: right" title="Notes payable, Principal">2,008</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zfaP1dJx2aG4" style="text-align: right" title="Notes payable, Principal">16,094</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Third Party - Insurance Note 4</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zlkXBNge3jr1" style="border-bottom: Black 1pt solid; text-align: right" title="Notes payable, Principal"><span style="-sec-ix-hidden: xdx2ixbrl1126">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pdp0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_z3KcW8Bag2R" style="border-bottom: Black 1pt solid; text-align: right" title="Notes payable, Principal">40,728</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zfrGcNlm9u81" style="border-bottom: Black 2.5pt double; text-align: right" title="Notes payable, Principal">41,976</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231_z8eZ9Nov4mp9" style="border-bottom: Black 2.5pt double; text-align: right" title="Notes payable, Principal">74,575</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on
December 23, 2022 with its insurance provider by issuing a $<span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20221223__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zSPmHBoHXGJi" title="Notes payable outstanding balance">26,484 </span>note
payable (Insurance Note 1) for the purchase of an insurance policy, secured by that policy with an annual interest rate of <span id="xdx_905_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20221223__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z4ekvw0yuFRc" title="Interest rate">8.73</span>%
payable in 10 monthly installments of principal and interest totaling $<span id="xdx_90B_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20221222__20221223__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zNSCL3lJkq86" title="Monthly instalments of principal and interest">2,755 </span>through
October 23, 2023. The balance of Insurance Note 1 as of December 31, 2023 and December 31, 2022 was zero <span id="xdx_908_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zmBXxHdkC8Rd" title="Notes payable outstanding balance"><b style="display: none">0 </b></span>and
zero <span id="xdx_900_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z8UbwBnW1qb9" title="Notes payable outstanding balance"><b style="display: none">0 </b></span>,
respectively.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on April 15,
2022 with its insurance provider by issuing a note payable (Insurance Note 2) for the purchase of an insurance policy in the amount of
$<span id="xdx_90F_eus-gaap--NotesPayable_iI_pp0p0_c20220415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zPQl3AKHs3C1" title="Notes payable outstanding balance">63,766</span>, secured by that policy with an annual interest rate of <span id="xdx_908_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20220415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z9iFVuy9IgH1" title="Interest rate">6.24</span>% and payable in 11 monthly installments of principal and interest
totaling $<span id="xdx_906_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20220414__20220415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zKxlI7mJe1Ye" title="Monthly instalments of principal and interest">5,979</span>. The Company entered into an agreement on April 15, 2023 with its insurance provider by issuing a note payable (Insurance
Note 2) for the purchase of an insurance policy in the amount of $<span id="xdx_906_eus-gaap--NotesPayable_iI_pp0p0_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zqCEXvx9k5yi" title="Notes payable outstanding balance">142,734</span>, secured by that policy with an annual interest rate of <span id="xdx_904_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zm4wCbgxc516" title="Interest rate">8.00</span>%
and payable in 11 monthly installments of principal and interest totaling $<span id="xdx_90B_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20230414__20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zUBGwv1mAztf" title="Monthly instalments of principal and interest">13,501</span>. At December 31, 2023 and December 31, 2022, the balance
of Insurance Note 2 was $<span id="xdx_90D_eus-gaap--NotesPayable_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zincHPjwI02h" title="Notes payable outstanding balance">39,968</span> and $<span id="xdx_905_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zH361U3NrJ0b" title="Notes payable outstanding balance">17,753</span>, respectively.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on September
15, 2022 with its insurance provider by issuing a note payable (Insurance Note 3) for the purchase of an insurance policy in the amount
of $<span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20220915__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zWNk35m0z3X1">24,140</span>.
The policy was renewed on February 3, 2023 and is payable in 12 monthly installments of $<span id="xdx_903_eus-gaap--DebtInstrumentPeriodicPayment_c20230202__20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_z5MxipAvQ3Q8">2,012</span>.
At December 31, 2023 and December 31, 2022, the balance of Insurance Note 3 was $<span id="xdx_902_eus-gaap--NotesPayable_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_z6tWnCAAXVf2">2,008
</span>and $<span id="xdx_901_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zZeYh38Mzb7d">16,094</span>,
respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on February
3, 2022 with its insurance provider by issuing a note payable for the purchase of an insurance policy in the amount of $<span id="xdx_902_ecustom--PurchaseOfInsurancePolicy_c20220201__20220203_z5nWZQ3wpgq" title="Purchase of an insurance policy">242,591
</span>with a down payment paid in the amount of $<span id="xdx_90C_ecustom--DownPaymentPaid_c20220101__20220331_zVo47hZyOdUi" title="Down payment paid">41,854
</span>in the first quarter of 2022 and ten monthly installments of $<span id="xdx_90C_ecustom--InsuranceMonthlyInstallments_c20220101__20220331_zKCAJJb3rrll" title="Insurance monthly installments">20,073</span>.
The Company received a refund on September 30, 2022 as a result of the annual audit of the policy resulting in the refund being applied
to the outstanding amount of $<span id="xdx_90B_eus-gaap--ProceedsFromDepositsWithOtherInstitutions_c20220927__20220930_zbkvSURIqdG6" title="Received refund">53,175</span>.
The policy renewed on February 3, 2023 and, in connection therewith, the Company issued a new note payable (Insurance Note 4) to the
insurer in the amount of $<span id="xdx_900_eus-gaap--NotesPayable_iI_pp0p0_c20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zzK8zCG1YjMh" title="Notes payable outstanding balance">293,520</span>; with a down payment paid in the amount
of $<span id="xdx_905_ecustom--DownPaymentPaid_c20230202__20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zgNuf5S2JtMl" title="Down payment paid">125,690
</span>and payable in ten monthly installments of $<span id="xdx_906_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20230202__20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zBgSiJIQfoJ4" title="Monthly installments of principal and interest">23,976</span>.
At December 31, 2023 and December 31, 2022, the balance of Insurance Note 4 was zero <b style="display: none"><span id="xdx_90E_eus-gaap--NotesPayable_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zYIPIFOWBARi" title="Notes payable outstanding balance">0</span></b> and $<span id="xdx_907_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zkrZ11qEcng2" title="Notes payable outstanding balance">40,728</span>, respectively.<b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Equipment Financing</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company entered into an agreement on May 22,
2020 with an equipment financing company by issuing a $<span id="xdx_905_eus-gaap--NotesPayable_iI_c20200522__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zP4HEbiRiCHb" title="Notes payable outstanding balance">121,637</span>
secured note, with an annual interest rate of <span id="xdx_907_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20200522__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zL7SfLMym4Rg" title="Interest rate">9.90</span>%
and payable in monthly installments of principal and interest totaling $<span id="xdx_906_eus-gaap--DebtInstrumentPeriodicPayment_c20200521__20230601__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zRQSWMcOxuNe" title="Monthly installments of principal and interest">3,919</span>
through June 1, 2023. At December 31, 2023 and December 31, 2022, the aggregate balance of these notes was zero <span id="xdx_904_eus-gaap--NotesPayable_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zCemnkCwhXQ2" style="display: none" title="Notes payable outstanding balance">0</span> and $<span id="xdx_900_eus-gaap--NotesPayable_iI_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zoctXj9eWFTb" title="Notes payable outstanding balance">22,851</span>
respectively.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>













<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>





<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 5.75pt 0 0; text-align: justify"><b></b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037896835680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUES AND CONTRACT ACCOUNTING<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">REVENUES AND CONTRACT ACCOUNTING</a></td>
<td class="text"><p id="xdx_803_eus-gaap--RevenueFromContractWithCustomerTextBlock_zY4fGSuavpr9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 8 &#8211; <span id="xdx_823_z55FzistFZpd">REVENUES AND CONTRACT ACCOUNTING</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company generates revenue from four sources: (1)
Technology Systems; (2) AI Technology which is included in the consolidated statements of operations line-item Technology Systems; (3)
Technical Support; and (4) Consulting Services which is included in the consolidated statements of operations line-item Services and Consulting.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract assets and contract liabilities on uncompleted
contracts for revenues recognized over time are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Contract Assets</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract assets on uncompleted contracts represent
cumulative revenues recognized in excess of billings and/or cash received on uncompleted contracts accounted for under the cost-to-cost
input method which recognizes revenue based on the ratio of costs incurred to total estimated costs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023 and 2022, contract assets on
uncompleted contracts consisted of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"></p>

<table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zCWVLmPjrHyf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B9_zxA0iUEH8wyj" style="display: none">Schedule of contract assets on
uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49A_20231231_zFJoYhD2rJAi" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_497_20221231_zppB3Dy1UIbi" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_ecustom--CostsAndEstimatedEarningsRecognized_iI_pp0p0_maCWCANzFM7_zcO6mxsK0DDc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Cumulative revenues recognized</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,820,256</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">5,934,205</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zN7MhJYySqZj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: Billings or cash received</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(8,178,309</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,508,483</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zgWCRX6xK4jl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Contract Assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">641,947</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">425,722</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Contract Liabilities</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract liabilities on uncompleted contracts represent
billings and/or cash received that exceed cumulative revenues recognized on uncompleted contracts accounted for under the cost-to-cost
input method.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract liabilities on services and consulting revenues
represent billings and/or cash received in excess of revenue recognized on service agreements that are not accounted for under the cost-to-cost
input method.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company expects to recognize all contract liabilities within 12
months from the date of the consolidated balance sheet.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023 and 2022, contract liabilities
on uncompleted contracts consisted of the following:</p>

<table cellpadding="0" cellspacing="0" id="xdx_881_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zMZrx8BUjt7" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B0_zrDv0aiCAByi" style="display: none">Schedule of contract liabilities
on uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zOrdde0up58j" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_492_20221231_zUuQvqCBZlA9" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_pp0p0_maCLTSzBbu_zOzcMc8cWjIb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 66%; text-align: left">Billings and/or cash receipts on uncompleted contracts</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">1,264,658</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">4,355,470</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--CostAndEstimatedEarningsRecognized_iNI_pp0p0_di_msCLTSzBbu_zLR3bAINzcPi" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">Less: Cumulative revenues</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(199,976</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(4,144,018</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_407_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_pp0p0_mtCLTSzBbu_maCWCLzYC9_zN5NJd39qYKd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Contract liabilities, technology systems</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">1,064,682</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">211,452</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--ContractLiabilitiesServicesAndConsulting_iI_pp0p0_maCWCLzYC9_zlwyzuHnRoC9" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">Contract Liabilities, services and consulting</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">601,561</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">746,545</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iTI_pp0p0_mtCWCLzYC9_zBFzK79eYxpi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt"><span style="font-size: 10pt">Total
    Contract Liabilities</span></td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">$</span></td><td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right"><span style="font-size: 10pt">1,666,243</span></td><td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-size: 10pt">957,997</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-size: 10pt">&#160;</span></td></tr>
  </table>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Contract liabilities at December 31, 2022 were $<span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20221231_zGLIpcVH0v67" title="Contract liabilities">957,997</span>;
of which $<span id="xdx_902_ecustom--ContractLiabilitiesTechnologiesSystems_iI_pp0p0_c20221231_zDeoClA20xQ1" title="Contract liabilities, technology systems">211,452</span> for technology systems and $<span id="xdx_903_ecustom--ServicesAndConsultingRecognized_iI_pp0p0_c20221231_z6TPNQ7JkDLb" title="Services and consulting recognized">721,810</span> in services and consulting have been recognized as of December 31, 2023.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Disaggregation of Revenue</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company is following
the guidance of ASC 606-10-55-296 and 297 for disaggregation of revenue. Accordingly, revenue has been disaggregated according to the
nature, amount, timing and uncertainty of revenue and cash flows. We are providing qualitative and quantitative disclosures.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Qualitative:</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">1. We have four distinct revenue sources:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">a. Technology Systems (Turnkey, engineered projects);</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">b. AI Technology (Associated maintenance and support services);</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">c. Technical Support (Licensing and professional services related
to auditing of data center assets); and</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">d. Consulting Services (Predetermined algorithms to provide important
operating information to the users of our systems).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">2. We currently operate in North America including the USA, Mexico and
Canada.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">3. Our customers include rail transportation, commercial, government, banking
and IT suppliers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">4. Our technology systems and equipment projects fall into two types:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">a. Transfer of goods and services are over time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">b. Goods delivered at point in time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">5. Our services &amp; maintenance contracts are fixed price and fall into
two duration types:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">a. Turnkey engineered projects and professional service contracts
that are less than one year in duration and are typically one to two quarters in length; and</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in">b. Maintenance and support contracts ranging from one to five
years in length.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Quantitative: </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">For the Year Ended December 31, 2023</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<table cellpadding="0" cellspacing="0" id="xdx_89A_eus-gaap--DisaggregationOfRevenueTableTextBlock_ziFFTofefqv7" style="font: 9pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 8pt; font-weight: bold"><span id="xdx_8BD_zI6RQhfhhBKh" style="display: none">Schedule of disaggregation of revenue</span></td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="3" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold">Segments</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Rail</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Commercial</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Government</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Artificial <br/> Intelligence</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">Primary Geographical Markets</td><td style="padding-bottom: 1pt; font-size: 10pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 28%; text-align: left; padding-bottom: 2.5pt">North America</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z8eGaxFxT7X2" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue">6,261,748</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z91BwFgel23h" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue">78,575</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zzUYC4RqLLY6" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue">11,353</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z1H88gnO8qua" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue">1,119,522</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlYzaT1cVKG7" style="border-bottom: Black 2.5pt double; text-align: right; width: 12%" title="Revenue">$7,471,198</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">Major Goods and Service Lines</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Turnkey Projects</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zp6uTmgsN8E6" style="text-align: right" title="Revenue">3,616,334</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ2xI4G66YEl" style="text-align: right" title="Revenue">1,694</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zvdw35phcVD1" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1252">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zd1PRS1N0avh" style="text-align: right" title="Revenue">$3,618,028</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Maintenance &amp; Support</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zRx9cWgpX3l9" style="text-align: right" title="Revenue">2,645,414</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjdhQrRi7mh6" style="text-align: right" title="Revenue">76,881</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zv4DTXUGxTGb" style="text-align: right" title="Revenue">11,353</td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuU50dX9mffk" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1262">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zKVaf5AtA0z9" style="text-align: right" title="Revenue">2,733,648</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Data Center Auditing Services</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6FIsWC83GSk" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1266">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z06Rv7Cb0dU" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1268">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zavmG6DFeEq5" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1270">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z9wEDGYxpun2" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1272">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zPSgswb0V5Ah" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1274">&#8212;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Software License</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zFAoHSHmmfta" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1276">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwtSenQemXTc" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1278">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zb6JwTGkSIfi" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1280">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zb29oL5tghP1" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1282">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zllGOPUDsDGd" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1284">&#8212;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Algorithms</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zLvGB85ZDZt5" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1286">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zm6wtEWpyNg" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1288">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z72lj2ESADJc" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1290">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zxjLUKdBuai9" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,119,522</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_z544OBmKZnA2" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,119,522</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zuzcy4hlYpqd" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">6,261,748</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwK0YZ2dZmae" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">78,575</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zgOQ0cigfMl7" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">11,353</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCCQ5ARfaV89" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">1,119,522</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zLESjJqPnxBk" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">$7,471,198</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">Timing of Revenue Recognition</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Goods transferred over time</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zDZQXlIAwUOa" style="text-align: right" title="Revenue">3,616,334</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zq5rYNodKeTg" style="text-align: right" title="Revenue">1,694</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zrIWxpwwpeH9" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1310">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zZohML7rQRmb" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1312">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zyJLH8Y4sKCe" style="text-align: right" title="Revenue">$3,218,028</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Services transferred over time</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zWoSClXHHuPa" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">2,645,414</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zLF3Xkq19Fbl" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">76,881</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZeZwI5I8qsk" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">11,353</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zars4ZS1uYfb" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,119,522</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zFlO71fbQvxd" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">3,853,170</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zcaSCOydbRNh" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">6,261,748</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zopd6C2SABo" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">78,575</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zSVPjkb156be" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">11,353</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zW2CHJpbCPec" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">1,119,522</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zeAn8B8l4ZUi" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">$7,471,198</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Quantitative: </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">For the Year Ended December 31, 2022</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold">Segments</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Rail</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Commercial</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Government</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Artificial <br/> Intelligence</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold">Primary Geographical Markets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 45%; font-size: 9pt; text-align: left; padding-bottom: 2.5pt">North America</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">13,710,777</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">115,443</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">237,414</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">948,732</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">15,012,366</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left">Major Goods and Service Lines</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; text-align: left">Turnkey Projects</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue">10,789,693</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue">9,297</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue">156,530</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXfHXZuRr6og" style="font-size: 9pt; text-align: right" title="Revenue">234,772</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue">11,190,292</td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 9pt; text-align: left">Maintenance &amp; Support</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zHKXeww9buMe" style="font-size: 9pt; text-align: right" title="Revenue">2,921,084</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zIm1a8hF0Tqg" style="font-size: 9pt; text-align: right" title="Revenue">106,146</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zTquzdRAFr5l" style="font-size: 9pt; text-align: right" title="Revenue">80,884</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zRyweNrqam8i" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1365">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zObWuoB33Oqg" style="font-size: 9pt; text-align: right" title="Revenue">3,108,114</td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; text-align: left">Data Center Auditing Services</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhpEX70VNsV8" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1369">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zAVAwmkcGh85" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1371">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkCa1g4l8W28" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1373">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zNrTqg2A7x1a" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1375">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zYUcizWw8wRb" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1377">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 9pt; text-align: left">Software License</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zwqCPQtsunck" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1379">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_ztRr9nSBR4Y3" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1381">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zWkK23Hule7" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1383">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z0qZ039p7ALl" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1385">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zYJYPrPGBpOe" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1387">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; padding-bottom: 1pt">Algorithms</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zG4qv3li40I4" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1389">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zBnt73xaTj1f" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1391">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z8Be3e3MTW7c" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1393">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCQNC7ca4Cnl" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">713,960</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zWfBsPPVb7g7" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">713,960</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6jwa1L5JCPc" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">13,710,777</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z7J57O39olgd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">115,443</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z7kFNLAmCDca" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">237,414</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXGLp6GbLlcd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">948,732</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zxxB0Uh6dx9h" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">15,012,366</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left">Timing of Revenue Recognition</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; text-align: left">Goods transferred over time</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zRNPxYCcG1p9" style="font-size: 9pt; text-align: right" title="Revenue">10,789,693</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zaXBzwca6J6d" style="font-size: 9pt; text-align: right" title="Revenue">9,297</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zbKDsbkJRgc" style="font-size: 9pt; text-align: right" title="Revenue">156,530</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zcaemS5Cl6C5" style="font-size: 9pt; text-align: right" title="Revenue">234,772</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zEX2ebYw9KTd" style="font-size: 9pt; text-align: right" title="Revenue">11,190,292</td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 9pt; text-align: left; padding-bottom: 1pt">Services transferred over time</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zYunqanIKlzf" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">2,921,084</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zkcQa4rAXg7d" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">106,146</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zjgNftwoujja" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">80,884</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z12sEJE9AhTl" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">713,960</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z337k7WlFV33" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">3,822,074</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zX6GkVc485kk" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">13,710,777</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zCmXvahtKXZ" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">115,443</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zpjoP6RJUNV6" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">237,414</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zAryIO8vAcF5" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">948,732</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zus71Y4MNntl" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">15,012,366</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A5_z4N3ehK84e6a" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Segment Information</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company operates in one reportable segment.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037995456816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEFERRED COMPENSATION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsAbstract', window );"><strong>Compensation Related Costs [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsGeneralTextBlock', window );">DEFERRED COMPENSATION</a></td>
<td class="text"><p id="xdx_807_eus-gaap--CompensationRelatedCostsGeneralTextBlock_ziviFFFR4wu8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 9 &#8211; <span id="xdx_82E_zWXoUzTpDfOc">DEFERRED COMPENSATION</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023, and 2022, the Company has
accrued zero <b style="display: none"><span id="xdx_902_eus-gaap--DeferredCompensationLiabilityCurrent_pp0p0_c20231231_zlNi73ReO9Zc" title="Accrued deferred compensation">0</span></b> and $<span id="xdx_908_eus-gaap--DeferredCompensationLiabilityCurrent_pp0p0_c20221231_zzrZ7C7kLR9g" title="Accrued deferred compensation">297,620</span>, respectively, of deferred compensation relating to individual agreements with the former CEO and
sales staff, which are included in the accompanying consolidated balance sheet in accrued expenses. (See Note 10)</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsGeneralTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items. Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 710<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//710/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 710<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482969/710-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsGeneralTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037899355456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">COMMITMENTS AND CONTINGENCIES</a></td>
<td class="text"><p id="xdx_805_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zwCak1eyphKg" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 10 &#8211; <span id="xdx_82C_zeBNy4JtEPJ1">COMMITMENTS AND CONTINGENCIES</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Operating Lease Obligations</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On July 26, 2021, the Company entered a new
operating lease agreement for office and warehouse combination space of <span id="xdx_907_ecustom--AreaOfLease_usqft_c20210725__20210726_zPObh03tD1ze" title="Area of lease">40,000 </span>square
feet, with the lease commencing on November 1, 2021, and ending April 30, 2032. This new space combines the Company&#8217;s two
separate work locations into one facility, which allows for greater collaboration and also accommodates a larger anticipated
workforce and manufacturing facility. On November 24, 2021, the lease was amended to commence on December 1, 2021, and end on May
31, 2032. The Company recognized a ROU asset and operating lease liability in the amount of $<span id="xdx_908_eus-gaap--OperatingLeaseRightOfUseAsset_iI_pp0p0_c20210726_zOvZnb7fMSx1" title="Operating lease right of use asset">4,980,104 </span>at
lease commencement. Rent for the first eleven months of the term was calculated based on <span id="xdx_90A_ecustom--RentableSpace_usqft_c20210725__20210726_zPTIvjImoVCa" title="Rentable space">30,000 </span>rentable
square feet. The rent is subject to an annual escalation of 2.5%, beginning November 1, 2023. The Company made a security deposit
payment in the amount of $<span id="xdx_90E_eus-gaap--SecurityDepositLiability_iI_pp0p0_c20210726_zGLDs7Sfg2hd" title="Security deposit payment">600,000</span> on
July 26, 2021. Per the contract, in the 18<sup>th</sup> month the security deposit was reduced by $<span id="xdx_901_eus-gaap--SecurityDeposit_iI_c20210726_zoClDkeutFif" title="Security deposit value">50,000</span>. The right of use asset
balance at December 31, 2023, net of accumulated amortization, was $<span id="xdx_901_eus-gaap--OperatingLeaseRightOfUseAsset_iI_pp0p0_c20231231_zs00by6n90Ae" title="Accumulated amortization">4,373,155</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023, the office and warehouse
lease is the Company&#8217;s only lease with a term greater than twelve months. The office and warehouse lease has a remaining term of
approximately 8.5 years and includes an option to extend for two renewal terms of five years each. The renewal options are not reasonably
certain to be exercised, and therefore, they are not included when determining the lease term used to establish the right-of use asset
and lease liability. The Company also has several short-term leases, primarily related to equipment. The Company made an accounting policy
election to not recognize short-term leases with terms of twelve months or less on the consolidated balance sheet and instead recognize
the lease payments in expense as incurred. The Company has also elected to account for real estate leases that contain both lease and
non-lease components (such as common area maintenance) as a single lease component.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table shows supplemental information
related to leases:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<table cellpadding="0" cellspacing="0" id="xdx_888_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zPTRuYVqbskf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BF_zZM8IBzvMOXi" style="display: none">Schedule of supplemental information
related to leases</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Lease cost:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; text-align: left">Operating lease cost</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20231231_zttE5rElI3gj" style="width: 14%; text-align: right" title="Operating lease cost">781,638</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--OperatingLeaseCost_pp0p0_c20220101__20221231_zYcMJF3F67ui" style="width: 14%; text-align: right" title="Operating lease cost">782,591</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Short-term lease cost</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98B_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20231231_zIGK8NYbqlQ2" style="text-align: right" title="Short term lease Cost">63,770</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98C_eus-gaap--ShortTermLeaseCost_pp0p0_c20220101__20221231_zdG5CM5dO6r9" style="text-align: right" title="Short term lease Cost">33,751</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Other information:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating cash outflow used for operating leases</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98F_eus-gaap--PaymentsForRent_pp0p0_c20230101__20231231_z3e6q6ia2MKl" style="text-align: right" title="Operating cash outflow used for operating leases">696,869</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98C_eus-gaap--PaymentsForRent_pp0p0_c20220101__20221231_z6j84f2y89w8" style="text-align: right" title="Operating cash outflow used for operating leases">416,250</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average discount rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90E_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20231231_zjA2gpJoLtUc" title="Weighted average discount rate">9.0</span></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90D_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20221231_zrrVE3JWf7a2" title="Weighted average discount rate">9.0</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average remaining lease term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_900_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmiiPs8NjkPi" title="Weighted average remaining lease term">8.5</span> years</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20221231_zJXSvKVn5oNh" title="Weighted average remaining lease term">9.5</span> years</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023, future minimum lease payments
due under the operating lease are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<table cellpadding="0" cellspacing="0" id="xdx_88C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z26yXkVAW5fe" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B4_zrrSb1KCUQ19" style="display: none">Schedule of future minimum lease payments
due under the operating lease</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49A_20231231_zx2tVVMOlc1d" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Amount</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><b>Calendar year:</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zMZ32FZKRPlk" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; width: 83%; text-align: justify">2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">779,087</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_z33tvQ0mDoCe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: justify">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">798,556</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zynaiJekHxF8" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; text-align: justify">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">818,518</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_zFe7Ld6cMU78" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: justify">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">838,984</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFive_iI_pp0p0_maCz6be_zc4EcXY4mLB" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; text-align: justify">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">859,856</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_pp0p0_maCz6be_zp2e0xf102Wi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;&#160;&#160;Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,183,571</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zpQYnYD8AcOd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;&#160;&#160;&#160;&#160;&#160;Total undiscounted future minimum lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,278,572</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyImIvrKEkV8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Less: Impact of discounting</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,270,767</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingLeaseLiability_iI_zRWrXiCH7ZQh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Total present value of operating lease obligation </td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,007,805</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_zUJ59PyPwQge" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;&#160;&#160;&#160;&#160;&#160;Current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(779,087</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_z2pGR4mT1wfd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt">Operating lease obligation, less current portion</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,228,718</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Executive Severance Agreement</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>&#160;</b></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">Pursuant to a separation agreement with Gianni Arcaini, our
former Chief Executive Officer and Chairman of the Board (the &#8220;Separation Agreement&#8221;), Mr. Arcaini&#8217;s employment with
the Company ended on September 1, 2020 (&#8220;Separation Date&#8221;). The Separation Agreement provided that he would receive separation
payments over a 36- month period equal to his base salary plus $75,000 as well as certain limited health and life insurance benefits.
The Separation Agreement also contained confidentiality, non-disparagement and non-solicitation covenants and a release of claims by
Mr. Arcaini. In accordance with the Separation Agreement, the Company paid to Mr. Arcaini the total sum of $747,788. On March 1, 2021,
the Company paid to Mr. Arcaini a lump-sum amount equal to the first six months of payments, or $124,631, owed to Mr. Arcaini and the
Company continued to pay him in semi-monthly installments for 30 months thereafter, as contemplated in Mr. Arcaini&#8217;s Separation
Agreement. The remaining balance included in accrued expenses in the accompanying unaudited consolidated balance sheet is zero as of December
31, 2023.</p>













<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>



<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900976848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAXES</a></td>
<td class="text"><p id="xdx_80F_eus-gaap--IncomeTaxDisclosureTextBlock_zJSXyHpQIx68" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 11 &#8211; <span id="xdx_82B_zh7EQadD5JL9">INCOME TAXES</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company maintains deferred tax assets and liabilities
that reflect the net tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes and the amounts used for income tax purposes. The deferred tax assets (liabilities) at December 31, 2023 and 2022 consist of
net operating loss carryforwards and differences in the book basis and tax basis of intangible assets.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The items accounting for the difference between income
taxes at the effective statutory rate and the provision for income taxes for the years ended December 31, 2023 and 2022 were as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></p>

<table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZwHnnqY4xU8" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - INCOME TAXES (Details - Provision for income taxes)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B4_zFkXwdgPYCVc" style="display: none">Schedule of difference between income
taxes at  effective statutory rate and  provision for income taxes</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49C_20230101__20231231_zj1FkYCjXtrl" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_494_20220101__20221231_zM8DrZ6jdDih" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_maCzjeV_zJiD87SdCthk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: justify">Income tax benefit at U.S. statutory rate of 21%</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">(2,360,761</td><td style="width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">(1,441,624</td><td style="width: 1%; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_maCzjeV_z13PvtmEz2B3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">State income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(404,702</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(247,135</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_maCzjeV_z9guChhoHYej" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Non-deductible expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">271,648</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">201,521</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_maCzjeV_zz87sGiICK24" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Change in valuation allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,493,815</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,487,238</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iT_mtCzjeV_zNozKFlsQqLa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Total provision for income tax</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1529">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1530">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s approximate net deferred tax assets
as of December 31, 2023 and 2022 were as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></p>

<table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zd6TonhaaVKb" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - INCOME TAXES (Details - Deferred tax assets)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B6_zl7pA79Nm9mg" style="display: none">Schedule of net deferred tax assets</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; text-align: justify">Deferred Tax Asset (Liability):</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; text-align: justify">Net operating loss carryforward</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20231231_zERrVhggest4" style="width: 14%; text-align: right" title="Net operating loss carryforward">12,318,836</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20221231_zQMWA48Wdhk8" style="width: 14%; text-align: right" title="Net operating loss carryforward">9,772,854</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Intangible assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20231231_zvm9kSBVsZ28" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets">(84,823</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20221231_zxei88MrzmDa" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets">(32,656</td><td style="padding-bottom: 1pt; text-align: left">)&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20231231_zSSrgnsW5p7d" style="text-align: right" title="Gross deferred tax assets">12,234,013</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20221231_zFbl8eJh0Pcf" style="text-align: right" title="Gross deferred tax assets">9,740,198</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Valuation allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231_zD7ZDMW251e" style="border-bottom: Black 1pt solid; text-align: right" title="Valuation allowance">(12,234,013</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231_z65yKg7UBjr6" style="border-bottom: Black 1pt solid; text-align: right" title="Valuation allowance">(9,740,198</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt">Net deferred tax assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_pdp0_c20231231_ztAYVSxaGSBg" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets"><span style="-sec-ix-hidden: xdx2ixbrl1550">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsNet_pdp0_c20221231_zzrXAbTzwIig" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets"><span style="-sec-ix-hidden: xdx2ixbrl1552">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The gross operating loss carryforward was approximately
$<span id="xdx_905_eus-gaap--OperatingLossCarryforwards_pp0p0_c20231231_zIEt1GVn1yoc" title="Gross operating loss carry forward">50,076,569</span> and $<span id="xdx_90C_eus-gaap--OperatingLossCarryforwards_pp0p0_c20221231_zf79b8oROKi1" title="Gross operating loss carry forward">39,727,050</span> at December 31, 2023 and 2022, respectively. The Company provided a valuation allowance equal to the net deferred
income tax assets for the years ended December 31, 2023, and 2022 because it was not known whether future taxable income will be sufficient
to utilize the loss carryforward and other deferred tax assets. The increase in the valuation allowance was $<span id="xdx_90C_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_pp0p0_c20230101__20231231_zdnAYk99a0Mi" title="Increase in valuation allowance">2,493,815</span> in 2023.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The potential tax benefit arising from the net operating
loss carryforward of $<span id="xdx_90C_eus-gaap--TaxCreditCarryforwardAmount_pp0p0_c20231231_zV9V9xuTNsG9" title="Net operating loss carryforward">4,357,876</span> from the period prior to January 1, 2018, will expire in 2037. The potential tax benefit arising from
the net operating loss carryforward of $<span id="xdx_909_ecustom--PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations_pp0p0_c20231231_zrCGiqTTiJlb" title="Potential tax benefit arising from net operating loss carryforward">7,876,137</span> generated after January 1, 2018 can be carried forward indefinitely within the annual
usage limitations.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Additionally, the future utilization of the net operating
loss carryforward to offset future taxable income is subject to an annual limitation as a result of ownership or business changes that
may occur in the future. The Company has not conducted a study to determine the limitations on the utilization of these net operating
loss carryforwards. If necessary, the deferred tax assets will be reduced by any carryforward that may not be utilized or expires prior
to utilization as a result of such limitations, with a corresponding reduction of the valuation allowance.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.2in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company does not have any uncertain tax positions
or events leading to uncertainty in a tax position. The Company&#8217;s 2022, 2021 and 2020 Corporate Income Tax Returns are subject to
Internal Revenue Service examination.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037896841104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS&#8217; EQUITY<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">STOCKHOLDERS&#8217; EQUITY</a></td>
<td class="text"><p id="xdx_80A_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zKSQIlE7Sitc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 12 &#8211; <span id="xdx_826_zfGWEsyARzg7">STOCKHOLDERS&#8217; EQUITY</span> </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b>2016 Equity Plan</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We maintained the 2016 Equity Incentive Plan (the
&#8220;2016 Plan&#8221;) for employees, officers, directors and other entities and individuals whose efforts contribute to our success.
The 2016 Plan terminated pursuant to its terms on December 31, 2020, although all outstanding awards on such date continue in full force
and effect.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2021 Equity Plan</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On May 12, 2021, the Board adopted, with shareholder
approval as of July 15, 2021, the 2021 Equity Incentive Plan (the &#8220;2021 Plan&#8221;) providing for the issuance of up to <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20210511__20210512__us-gaap--PlanNameAxis__custom--TwoThousandTwentyOneEquityIncentivePlanMember_zIgXWB2RLyj" title="Issuance of Common stock under Awards">1,000,000</span>
shares of our Common Stock. The purpose of the 2021 Plan is to assist the Company in attracting and retaining key employees, directors
and consultants and to provide incentives to such individuals to align their interests with those of our shareholders.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>General Description of the 2021 Plan</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following is a summary of the material provisions
of the 2021 Plan and is qualified in its entirety by reference to the complete text of the 2021 Plan, which you are encouraged to read
in full.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Administration</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The 2021 Plan is administered by the Compensation
Committee of the Board, which consists of three members of the Board, each of whom is a &#8220;non-employee director&#8221; within the
meaning of Rule 16b-3 promulgated under the Exchange Act and an &#8220;outside director&#8221; within the meaning of Code Section 162(m).
Among other things, the Compensation Committee has complete discretion, subject to the express limits of the 2021 Plan, to determine the
directors, employees and nonemployee consultants to be granted an award, the type of award to be granted, the terms and conditions of
the award, the form of payment to be made and/or the number of shares of Common Stock subject to each award, the exercise price of each
option and base price of each stock appreciation right (&#8220;SAR&#8221;), the term of each award, the vesting schedule for an award,
whether to accelerate vesting, the value of the Common Stock underlying the award, and the required withholding, if any. The Compensation
Committee may amend, modify or terminate any outstanding award, provided that the participant&#8217;s consent to such action is required
if the action would impair the participant&#8217;s rights or entitlements with respect to that award. The Compensation Committee is also
authorized to construe the award agreements and may prescribe rules relating to the 2021 Plan. Notwithstanding the foregoing, the Compensation
Committee does not have any authority to grant or modify an award under the 2021 Plan with terms or conditions that would cause the grant,
vesting or exercise thereof to be considered nonqualified &#8220;deferred compensation&#8221; subject to Code Section 409A.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Grant of Awards; Shares Available for Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The 2021 Plan provides for the grant of stock options,
SARs, performance share awards, performance unit awards, distribution equivalent right awards, restricted stock awards, restricted stock
unit awards and unrestricted stock awards to non-employee directors, officers, employees and nonemployee consultants of the Company or
its affiliates. We have reserved a total of <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20231231_zicLp5QV7Mr2" title="Shares available for grant">1,000,000</span> shares of Common Stock for issuance as or under awards to be made under the 2021
Plan. If any award expires, is cancelled, or terminates unexercised or is forfeited, the number of shares subject thereto is again available
for grant under the 2021 Plan.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Stock Options</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The 2021 Plan provides for either
&#8220;incentive stock options&#8221; (&#8220;ISOs&#8221;), which are intended to meet the requirements for special federal income
tax treatment under the Code, or &#8220;nonqualified stock options&#8221; (&#8220;NQSOs&#8221;). On May 12, 2021, the 2021 Plan was
approved by the board of directors and by the shareholders on July 15, 2021. Stock options may be granted on such terms and
conditions as the Compensation Committee may determine; provided, however, that the per share exercise price under a stock option
may not be less than the fair market value of a share of the Company&#8217;s Common Stock on the date of grant and the term of the
stock option may <span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward_c20230101__20231231__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--EmployeeStockOptionMember_zlOyYhXJ5qIk" title="Common stock on the date of grant, term of the stock option">not
exceed 10 years</span> (110% of such value and five years in the case of an ISO granted to an employee who owns (or is deemed to
own) <span id="xdx_909_eus-gaap--CommonStockVotingRights_c20230101__20231231__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--EmployeeStockOptionMember_zHS3gO4XtLqa" title="Voting rights">more
than 10% of the total combined voting power of all classes of capital stock</span> of the Company or a parent or subsidiary of the
Company). ISOs may only be granted to employees. In addition, the aggregate fair market value of our Common Stock covered by one or
more ISOs (determined at the time of grant) which are exercisable for the first time by an employee during any calendar year may not
exceed $<span id="xdx_901_ecustom--AggregateFairMarketValueOfOurCommonStockNotExceed_pp0p0_c20230101__20231231__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--EmployeeStockOptionMember_zVvTiCrACz58" title="Aggregate fair market value of common stock">100,000</span>.
Any excess is treated as a NQSO.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Stock Appreciation Rights</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">An SAR entitles the participant, upon exercise, to
receive an amount, in cash or stock or a combination thereof, equal to the increase in the fair market value of the underlying Common
Stock between the date of grant and the date of exercise. SARs may be granted in tandem with, or independently of, stock options granted
under the 2021 Plan. An SAR granted in tandem with a stock option (i) is exercisable only at such times, and to the extent, that the related
stock option is exercisable in accordance with the procedure for exercise of the related stock option; (ii) terminates upon termination
or exercise of the related stock option (likewise, the Common Stock option granted in tandem with a SAR terminates upon exercise of the
SAR); (iii) is transferable only with the related stock option; and (iv) if the related stock option is an ISO, may be exercised only
when the value of the stock subject to the stock option exceeds the exercise price of the stock option. An SAR that is not granted in
tandem with a stock option is exercisable at such times as the Compensation Committee may specify.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Performance Share and Performance Unit Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Performance share and performance unit awards entitle
the participant to receive cash or shares of our Common Stock upon the attainment of specified performance goals. In the case of performance
units, the right to acquire the units is denominated in cash values.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Restricted Stock Awards and Restricted Stock
Unit Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">A restricted stock award is a grant or sale of Common
Stock to the participant, subject to our right to repurchase all or part of the shares at their purchase price (or to require forfeiture
of such shares if issued to the participant at no cost) in the event that conditions specified by the Compensation Committee in the award
are not satisfied prior to the end of the time period during which the shares subject to the award may be repurchased by or forfeited
to us. Our restricted stock unit entitles the participant to receive a cash payment equal to the fair market value of a share of Common
Stock for each restricted stock unit subject to such restricted stock unit award, if the participant satisfies the applicable vesting
requirement.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Unrestricted Stock Awards</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">An unrestricted stock award is a grant or sale of
shares of our Common Stock to the participant that is not subject to transfer, forfeiture or other restrictions, in consideration for
past services rendered to the Company or an affiliate or for other valid consideration.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>Amendment and Termination</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><i>&#160;</i></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Compensation Committee may adopt, amend and rescind
rules relating to the administration of the 2021 Plan, and amend, suspend or terminate the 2021 Plan, but no such amendment, rescission,
suspension or termination will be made that materially and adversely impairs the rights of any participant with respect to any award received
thereby under the 2021 Plan without the participant&#8217;s consent, other than amendments that are necessary to permit the granting of
awards in compliance with applicable laws.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Series B Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following summary of certain terms and provisions
of our Series B Convertible Preferred Stock (the &#8220;Series B Convertible Preferred Stock&#8221;) is subject to, and qualified in its
entirety by reference to, the terms and provisions set forth in our certificate of designation of preferences, rights and limitations
of Series B Convertible Preferred Stock (the &#8220;Series B Convertible Preferred Certificate of Designation&#8221;) as previously filed.
Subject to the limitations prescribed by our articles of incorporation, our board of directors is authorized to establish the number of
shares constituting each series of preferred stock and to fix the designations, powers, preferences, and rights of the shares of each
of those series and the qualifications, limitations and restrictions of each of those series, all without any further vote or action by
our stockholders. Our board of directors designated <span id="xdx_906_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zG6SHhhURxEc" title="Preferred stock, shares authorized">15,000</span> of the <span id="xdx_904_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231_zC2DpseXadn6" title="Preferred stock, shares authorized">10,000,000</span> authorized shares of preferred stock as Series B Convertible
Preferred Stock with a stated value of $<span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zhN0MW7RxQzi" title="Preferred stock, par value">1,000</span> per share. The shares of Series B Convertible Preferred Stock were validly issued, fully
paid and non-assessable.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Each share of Series B Convertible Preferred
Stock was convertible at any time at the holder&#8217;s option into a number of shares of common stock equal to $<span id="xdx_904_eus-gaap--ConversionOfStockAmountConverted1_pp0p0_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesBConvertiblePreferredStockMember_zvD66E4ZdcLc" title="Conversion of stock, value">1,000
</span>divided by the conversion price of $<span id="xdx_90C_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesBConvertiblePreferredStockMember_z2lqbAovtdb4" title="Conversion price">7.00
</span>per share. Notwithstanding the foregoing, we could not effect any conversion of Series B Convertible Preferred Stock, with certain
exceptions, to the extent that, after giving effect to an attempted conversion, the holder of shares of Series B Convertible Preferred
Stock (together with such holder&#8217;s affiliates, and any persons acting as a group together with such holder or any of such holder&#8217;s
affiliates) would beneficially own a number of shares of our common stock in excess of 4.99% (or, at the election of the purchaser, 9.99%)
of the shares of our common stock then outstanding after giving effect to such conversion. The Series B Convertible Preferred Certificate
of Designation does not prohibit the Company from waiving this limitation. Upon any liquidation, dissolution or winding-up of Company,
whether voluntary or involuntary (a &#8220;Liquidation&#8221;), the holders shall be entitled to participate on an as-converted-to-common
stock basis (without giving effect to the Beneficial Ownership Limitation) with holders of the common stock in any distribution of assets
of the Company to the holders of the common stock. As of December 31, 2023 and December 31, 2022, respectively, there are zero <b style="display: none"><span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z9BCa8J7DBi7" title="Preferred stock, shares issued"><span id="xdx_909_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zHicwgjgwG3c" title="Preferred stock, shares outstanding">0</span></span></b>
and zero <b style="display: none"><span id="xdx_904_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zT6axTu5KOYh" title="Preferred stock, shares issued"><span id="xdx_90A_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zwf1MVZFE0X" title="Preferred stock, shares outstanding">0</span></span></b> shares of Series B Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline">Series C Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s Board of Directors designated
<span id="xdx_900_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zMmKaOF2aek6">5,000
</span>shares as the Series C Convertible Preferred Stock (the &#8220;Series C Convertible Preferred Stock&#8221;). Each share of the
Series C Convertible Preferred Stock has a stated value of $<span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zDkM3cLnoFIh">1,000</span>.
The holders of the Series C Convertible Preferred Stock, the holders of the common stock and the holders of any other class or series
of shares entitled to vote with the common stock shall vote together as one class on all matters submitted to a vote of shareholders
of the Company. <span id="xdx_90F_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zMDuKG7LVKTk">Each
share of Series C Convertible Preferred Stock had 172 votes (subject to adjustment); provided that in no event may a holder of Series
C Convertible Preferred Stock be entitled to vote a number of shares in excess of such holder&#8217;s Beneficial Ownership Limitation
(as defined in the Certificate of Designation and as described below). Each share of Series C Convertible Preferred Stock was convertible,
at any time and from time to time, at the option of the holder, into that number of shares of common stock (subject to the Beneficial
Ownership Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price, which is $5.50 (subject
to adjustment). The Company shall not effect any conversion of the Series C Convertible Preferred Stock, and a holder shall not have
the right to convert any portion of the Series C Convertible Preferred Stock, to the extent that after giving effect to the conversion
sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate of Designation))
would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock outstanding immediately
after giving effect to the issuance of shares of common stock issuable upon such conversion (the &#8220;Beneficial Ownership Limitation&#8221;).
All holders of the Series C Preferred Stock elected the 19.99% Beneficial Ownership Limitation.</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On February 26, 2021, the Company entered into a
Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with certain existing investors in the Company (the &#8220;Purchasers&#8221;).
Pursuant to the Purchase Agreement, the Purchasers purchased 4,500 shares of a newly authorized Series C Convertible Preferred Stock,
and the Company received proceeds of $<span id="xdx_90D_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20210225__20210226__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zF87pI0cIp28">4,500,000</span>.
The Purchase Agreement contains customary representations, warranties, agreements and indemnification rights and obligations of the parties.
In January 2022, the 2,500 outstanding shares of Series C Convertible Preferred Stock were converted into <span id="xdx_909_ecustom--SeriesCPreferredConvertedToCommonStockShares_c20220101__20220131__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zkdL7mJfg2w2" title="Series C preferred converted to common stock shares">454,546
</span>shares of common stock. As of December 31, 2023 and December 31, 2022, respectively, there were zero <b style="display: none"><span id="xdx_906_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zg55JBqFAYEk" title="Preferred stock, shares issued"><span id="xdx_90B_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zMKbRORVBl7d" title="Preferred stock, shares outstanding">0</span></span></b> and zero <b style="display: none"><span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zgNuGljw0fl2" title="Preferred stock, shares issued"><span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_z2JJTHYKiHMd" title="Preferred stock, shares outstanding">0</span></span></b>
shares of Series C Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with the Purchase Agreement, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company filed
with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of Series
C Convertible Preferred Stock were convertible. The Registration Rights Agreement contains customary representations, warranties, agreements
and indemnification rights and obligations of the parties.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline">Series D Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 28, 2022, the Company amended its
articles of incorporation to designate <span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_iI_c20220928__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zvmZ7fTPrMo4" title="Preferred stock, shares authorized">4,000</span>
shares as the Series D Convertible Preferred Stock (the &#8220;Series D Convertible Preferred Stock&#8221;). Each share of the
Series D Convertible Preferred Stock has a stated value of $<span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20220928__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zCFhvaL67jLd" title="Preferred stock, par value">1,000</span>.
The holders of the Series D Convertible Preferred Stock, the holders of the common stock and the holders of any other class or
series of shares entitled to vote with the common stock shall vote together as one class on all matters submitted to a vote of
shareholders of the Company. <span id="xdx_903_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zFj1Sibu234f" title="Preferred stock voting rights">Each
share of Series D Convertible Preferred Stock has 333 votes</span> (subject to standard anti-dilution adjustment); provided that in
no event may a holder of Series D Convertible Preferred Stock be entitled to vote a number of shares in excess of such
holder&#8217;s Beneficial Ownership Limitation (as defined in the Certificate of Designation and as described below). Each share of
Series D Convertible Preferred Stock is convertible, at any time and from time to time, at the option of the holder, into that
number of shares of common stock (subject to the Beneficial Ownership Limitation) determined by dividing the stated value of such
share ($1,000) by the conversion price, which is $<span id="xdx_900_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zZFJp7gmpUt8" title="Conversion price">3.00</span>
(subject to adjustment). The Company shall not effect any conversion of the Series D Convertible Preferred Stock, and a holder shall
not have the right to convert any portion of the Series D Convertible Preferred Stock, to the extent that after giving effect to the
conversion sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate of
Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion (the
&#8220;Beneficial Ownership Limitation&#8221;). All holders of the Series D Preferred Stock elected the 19.99% Beneficial Ownership
Limitation. The Company shall reserve and keep available out of its authorized and unissued Common Stock, solely for the issuance
upon the conversion of the Series D Convertible Preferred Stock, such a number of shares of Common Stock as shall from time to time
be issuable upon the conversion of all of the shares of the Series D Convertible Preferred Stock then outstanding. Additionally, the
Series D Convertible Preferred Stock does not have the right to dividends and in the event of an involuntary liquidation, the Series
D shares shall be treated as a pro rata equivalent of common stock outstanding at the date of the liquidation event and have no
liquidation preference.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 30, 2022, the Company entered into a
Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with certain existing investors in the Company (the &#8220;Purchasers&#8221;).
Pursuant to the Purchase Agreement, the Purchasers purchased <span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20220930__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zj5HvVP2bIjk" title="Preferred stock, shares issued">999</span> shares of the newly authorized Series D Convertible Preferred Stock,
and the Company received proceeds of $<span id="xdx_902_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20220701__20220930__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zfGGnx7f7XC3" title="Proceeds from convertible preferred stock">999,000</span>. The Purchase Agreement contains customary representations, warranties, agreements and indemnification
rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On October 29, 2022, the Company entered into a Securities
Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with a certain existing investor in the Company (the &#8220;Purchaser&#8221;).
Pursuant to the Purchase Agreement, the Purchaser purchased <span id="xdx_901_eus-gaap--PreferredStockSharesIssued_iI_c20221029__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__us-gaap--PrivatePlacementMember_z8Rg1iAbWQJi" title="Preferred stock, shares issued">300</span> shares of the newly authorized Series D Convertible Preferred Stock, and
the Company received proceeds of $<span id="xdx_90F_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20221028__20221029__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__us-gaap--PrivatePlacementMember_zaAWnsv5BNb9" title="Proceeds from convertible preferred stock">300,000</span>. The Purchase Agreement contains customary representations, warranties, agreements and indemnification
rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with such Purchase Agreements, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company filed
with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of Series
D Convertible Preferred Stock are convertible. The Registration Rights Agreement contains customary representations, warranties, agreements
and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/106% Times New Roman, Times, Serif; margin: 0; text-align: justify">On May 16, 2023 the Series D Convertible Preferred Stock was approved
for conversion to common shares during the Company&#8217;s annual shareholder meeting.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023 and December 31, 2022, respectively,
there were <span id="xdx_908_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z1vLqqzMYPv1" title="Preferred stock, shares issued"><span id="xdx_90C_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z8Q6oSxxOTqd" title="Preferred stock, shares outstanding">1,299</span></span> and <span id="xdx_909_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zP24RNtCVk21" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zSbBa3dn66jl" title="Preferred stock, shares outstanding">1,299</span></span> shares of Series D Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Series E Convertible Preferred Stock </span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s Board of Directors has designated
<span id="xdx_900_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zWRhQsknoXZg">30,000</span> shares as the Series E Convertible Preferred Stock (the &#8220;Series E Convertible Preferred Stock&#8221;). Each share of the
Series E Convertible Preferred Stock has a stated value of $<span id="xdx_906_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zGTAEfqlVahj">1,000</span>. The holders of the Series E Convertible Preferred Stock, the holders
of the common stock and the holders of any other class or series of shares entitled to vote with the common stock shall vote as one class
on all matters submitted to a vote of shareholders of the Company. <span id="xdx_90C_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z7d3DVAb002l">Each share of Series E Preferred Stock has 333 votes</span> (subject to adjustment);
provided that in no event may a holder of Series E Preferred Stock be entitled to vote a number of shares in excess of such holder&#8217;s
Beneficial Ownership Limitation. Each share of Series E Convertible Preferred Stock is convertible, subject to shareholder approval (which
has not yet been granted); at any time and from time to time, at the option of the holder, into that number of shares of common stock
(subject to the Beneficial Ownership Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price,
which is $3.00 (subject to adjustment). The Company shall not effect any conversion of the Series E Convertible Preferred Stock, and the
holder shall not have the right to convert any portion of the Series E Convertible Preferred Stock, to the extent that after giving effect
to the conversion sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate
of Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion (the &#8220;Beneficial
Ownership Limitation&#8221;). All holders of the Series E Convertible Preferred Stock elected the 19.99% Beneficial Ownership Limitation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company on March 27, 2023 entered into a Securities
Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with an existing investor in the Company (the &#8220;Purchaser&#8221;). Pursuant
to the Purchase Agreement, the Purchaser purchased <span id="xdx_90E_eus-gaap--PreferredStockSharesIssued_iI_c20230327__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z1MbwnLQ9F79" title="Preferred stock, shares issued">4,000</span> shares of a newly authorized Series E Convertible Preferred Stock at a price
of $<span id="xdx_908_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20230327__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zl9rW0fULv29" title="Preferred stock, par value">1,000</span> per share, and the Company received proceeds of $<span id="xdx_902_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20230326__20230327__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zkBjSAMoSJs9" title="Proceeds from convertible preferred stock">4,000,000</span>. The Purchase Agreement contains customary representations, warranties,
agreements and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The existing investor&#8217;s Purchase Agreement also
provides that the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the
Purchase Agreement) on or prior to December 31, 2023 that entitles any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Convertible Preferred Stock without the consent of the Purchaser.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On November 9, 2023, the Company entered into a
Securities Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with an existing investor in the Company (the
&#8220;Purchaser&#8221;). Pursuant to the Purchase Agreement, the Purchaser purchased <span id="xdx_901_ecustom--SeriesEPreferredConvertiblePreferredStockShares_c20231108__20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_ziqXl2Nenuid" title="Series E preferred convertible preferred stock, Shares">2,500</span>
shares of authorized Series E Convertible Preferred Stock, at a price of $<span id="xdx_90C_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zxF4A9Uy1uug" title="Preferred stock, par value">1,000</span>
per share, and the Company received proceeds of $<span id="xdx_90F_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20231108__20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z8rimJc1KCO5" title="Proceeds from convertible preferred stock">2,500,000</span>.
In connection with the November 2023 Series E Convertible Preferred Stock offering, the Company entered into an Exchange Agreement
with the investor and issued an additional <span id="xdx_904_eus-gaap--SharesIssued_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zmanpazsAeHl" title="Additional shares">5,000</span>
shares of Series E Convertible Preferred Stock at $<span id="xdx_90F_eus-gaap--SharePrice_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zQdlK1yZmGDe" title="Share price">1,000</span>
per share with the $<span id="xdx_90C_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zrBkM6lgiUd4" title="Price per common share">3.00</span>
per common share common stock equivalent conversion price in exchange for <span id="xdx_90E_ecustom--StockExchangeShares_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zwQHrEnBBLF4" title="Exchange shares">5,000</span>
outstanding and issued shares of Series F Convertible Preferred Stock, which were convertible to common stock at $<span id="xdx_903_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_z8Ri1Z9iex5b" title="Price per common share">6.20</span>
per common share. All shares of Series F Convertible Preferred Stock were held by a single shareholder.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The November Purchase Agreement also provides that
the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the November Purchase
Agreement) on or prior to June 30, 2024 that entitles any person to acquire shares of common stock at an effective price per share less
than the then conversion price of the Series E Preferred Stock without the consent of the Purchasers. The conversion price of the Series
E Preferred Stock currently is $3.00 per share (subject to adjustment).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Purchasers under the November Purchase Agreement
also were the holders of the Company's Series F Preferred Stock issued on August 1, 2023. The purchase agreement relating to the shares
of Series F Preferred Stock required the consent of the holders in the event the Company were to issue common stock or rights to acquire
common stock prior to December 31, 2023 at an effective price per share less than the then conversion price of the Series F Preferred
Stock, which was $<span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z8J4CqGsXUWj" title="Preferred stock, par value">6.20</span> per share. As a result, on November 10, 2023 the Company and the holders of the Series F Preferred Stock entered
into Exchange Agreements pursuant to which the holders of Series F Preferred Stock exchanged their <span id="xdx_90E_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z1ugYxC0BqX1" title="Additional shares">5,000</span> shares of Series F Preferred
Stock for an equal number of shares of Series E Preferred Stock. As a result of the November Purchase Agreement and the Exchange Agreements,
the Company issued a total of <span id="xdx_90C_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zFXeYOPqpe1" title="Additional shares">7,500</span> shares of Series E Preferred Stock and the <span id="xdx_90E_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zZYo1FQjtnG" title="Additional shares">5,000</span> shares of Series F Preferred Stock were cancelled.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The existing investor&#8217;s Purchase Agreement also
provides that the Company would not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the
Purchase Agreement) on or prior to December 31, 2023 that entitled any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Convertible Preferred Stock without the consent of the Purchaser.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023 and December 31, 2022, respectively,
there were <span id="xdx_903_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zNxKHfI4Xa13" title="Preferred stock, shares issued"><span id="xdx_908_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zHe8KsTmRA6" title="Preferred stock, shares outstanding">11,500</span></span> and <span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zJIwVWDwqFy1" title="Preferred stock, shares issued"><span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zy7DTlM5KInd" title="Preferred stock, shares outstanding">0</span></span> shares of Series E Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Series F Convertible Preferred Stock</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On August 2, 2023, the Company entered into a Securities
Purchase Agreement (the &#8220;Purchase Agreement&#8221;) with an existing, accredited investor in the Company (the &#8220;Purchaser&#8221;).
Pursuant to the Purchase Agreement, the Purchaser purchased <span id="xdx_901_ecustom--SeriesFPreferredConvertiblePreferredStockShares_c20230730__20230802_zSv4hghWykVc" title="Series F preferred convertible preferred stock, Shares">5,000</span> shares of a newly authorized Series F Convertible Preferred Stock (the
&#8220;Series F Convertible Preferred Stock&#8221;), and the Company received proceeds of $<span id="xdx_90C_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20230730__20230802_zNiRpoeGbSWi" title="Proceeds from convertible preferred stock">5,000,000</span>. The Purchase Agreement contains
customary representations, warranties, agreements and indemnification rights and obligations of the parties.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company's Board of Directors designated <span id="xdx_90B_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z6u1rSdYiydd" title="Preferred stock, shares authorized">5,000</span>
shares as the Series F Preferred Stock. Each share of Series F Preferred Stock is convertible, at any time and from time to time, at
the option of the holder, into that number of shares of common stock (subject to the beneficial ownership limitation described
below) determined by dividing the stated value of such share ($<span id="xdx_905_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zGi8J2a77DF9" title="Preferred stock, par value">1,000</span>)
by the conversion price, which is $<span id="xdx_90D_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z51I1i0hGWB" title="Conversion price">6.20</span>
(subject to adjustment) which equates to 161 common shares for each converted Series F preferred share. The Company, however, shall not effect any conversion of the Series F Preferred Stock, and the holder
shall not have the right to convert any portion of the Series F Preferred Stock, to the extent that after giving effect to the
conversion sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate of
Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion. The purchasers
of the Series F Preferred Stock elected that their ownership limitation would be 19.99%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The holders of the Series F Preferred Stock, the holders
of the common stock and the holders of any other class or series of shares entitled to vote with the common stock shall vote together
as one class on all matters submitted to a vote of shareholders of the Company. <span id="xdx_900_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zjTmKrb58wml" title="Preferred stock voting rights">Each share of Series F Preferred Stock had 161 votes</span> (subject
to adjustment); provided that in no event may a holder of Series F Preferred Stock be entitled to vote a number of shares in excess of
such holder&#8217;s ownership limitation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company also agreed that it would not, with certain
exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the Purchase Agreement relating to the Series F Preferred
Stock) on or prior to December 31, 2023 that entitled any person to acquire shares of common stock at an effective price per share less
than the then conversion price of the Series F Preferred Stock without the consent of the holders. As a result of that agreement, upon
the issuance of <span id="xdx_90C_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_znMtlKNCwLHh" title="Additional shares">2,500</span> shares of Series E Preferred Stock (which have a conversion price of $<span id="xdx_90B_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zJx9JwAcSOF1" title="Conversion price">3.00</span> per share) on November 10, 2023, the
holders exchanged their <span id="xdx_906_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zdfKuipyr5Qh" title="Exchange of shares">5,000</span> shares of Series F Preferred Stock for <span id="xdx_904_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zpR4YiDARcL5" title="Exchange of shares">5,000</span> shares of Series E Preferred Stock. All of the shares of Series
F Preferred Stock thereupon were cancelled with <span id="xdx_901_eus-gaap--CapitalUnitsOutstanding_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zGSNr7VyeT55" title="Shares outstanding">0</span> shares now outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of December 31, 2023 and December 31, 2022, respectively,
there were <span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z1ncmwT3CFp7" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zdzpULob2kRc" title="Preferred stock, shares outstanding">0</span></span> and <span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zrLiQOAj4EDe" title="Preferred stock, shares issued"><span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z3Rso6sx9PE" title="Preferred stock, shares outstanding">0</span></span> shares of Series F Convertible Preferred Stock issued and outstanding.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Common stock issued</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">2023 Transactions</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On March 31, 2023, the Company issued <span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zAPha2tkgkZ1" title="Stock issued for services , shares">12,463</span> shares
of common stock for payment of board fees to three directors for a value of $<span id="xdx_905_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zrJ9KQ1V0Cjj" title="Stock issued for services, value">32,500</span> for services to the board which was expensed during
the three months ended March 31, 2023. The value of the shares is based on the March 31, 2023 grant date quoted trading price of $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zpKdAnsR9eQf" title="Weighted average price per share">2.61</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On June 30, 2023, the Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230401__20230630__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zrr4GG3TuEw2" title="Stock issued for services , shares">5,645</span> shares
of common stock for payment of board fees to three directors for a value of $<span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20230401__20230630__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zvJyiWWgR7mb" title="Stock issued for services, value">32,500</span> for services to the board which was expensed during
the three months ended June 30, 2023. The value of the shares is based on the June 30, 2023 grant date quoted trading price of $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20230630__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zQzhXfrJRFvg" title="Weighted average price per share">5.76</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On June 30, 2023, the Company issued <span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z83BBq4hjH2k" title="Stock issued for services , shares">65,561</span>
shares of common stock to employees participating in the Company&#8217;s Employee Stock Purchase Plan at the end of a six-month
offering period. The employee contributions totaled $<span id="xdx_90F_eus-gaap--EmployeeStockOwnershipPlanESOPCashContributionsToESOP_pp0p0_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zyxVOD8WQH8h" title="Total employee participation amount">117,048</span>
for the six months ended June 30, 2023 and represented a purchase price of $<span id="xdx_902_eus-gaap--SharePrice_iI_c20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zghT7AUoadP7" title="Purchase price per share">1.79</span>
per share and stock-based compensation of $<span id="xdx_900_eus-gaap--AllocatedShareBasedCompensationExpense_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zaYoCQlZXage" title="Stock-based compensation">66,217</span> was recognized.
The purchase price for one share of Common Stock under the ESPP is equal to 85% of the fair market value of one share of Common
Stock on the first trading day of the offering period or the purchase date, whichever is lower.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company issued <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230701__20230930__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_pdd" title="Stock issued for services , shares">7,910</span> shares of common stock for
payment of board fees to four directors for a value of $<span id="xdx_904_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230701__20230930__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_pp0p0" title="Stock issued for services, value">40,565</span> for services to the board which was expensed during the three months ended
September 30, 2023. The value of the shares is based on the September 29, 2023 grant date quoted trading price of $<span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_c20230929__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_pdd" title="Weighted average price per share">5.13</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: #2B579A"></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify">For the three months ended September 30, 2023, the Company had an
accrued liability of $<span id="xdx_902_eus-gaap--AccruedLiabilitiesCurrentAndNoncurrent_iI_c20230930__us-gaap--AwardTypeAxis__custom--ESPPMember_zTzv9Vcc5Vx" title="Accrued liability">72,801</span> of employee contributions for the ESPP which may convert to shares of common stock upon the close of the
offering period open from July 1, 2023 to December 31, 2023.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20231001__20231231__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zphPYBWN5YR5" title="Stock issued for services , shares">12,231</span> shares of common stock for
payment of board fees to four directors for a value of $<span id="xdx_900_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20231001__20231231__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zUov3SfgEnw9" title="Stock issued for services, value">37,500</span> for services to the board which was expensed during the three months ended
December 31, 2023. The value of the shares is based on the December 29, 2023 grant date quoted trading price of $<span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20231231__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z9vUZO3I4vVf" title="Weighted average price per share">3.06</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On December 29, 2023, the Company issued <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230701__20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoW7y5ubdiJ2" title="Stock issued for services , shares">45,977</span>
shares of common stock to employees participating in the Company&#8217;s Employee Stock Purchase Plan at the end of a six-month
offering period. The employee contributions totaled $<span id="xdx_901_eus-gaap--EmployeeStockOwnershipPlanESOPCashContributionsToESOP_pp0p0_c20230701__20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z8EbnjxUVS9l" title="Total employee participation amount">113,352</span>
for the six months ended December 29, 2023 and represented a purchase price of $<span id="xdx_902_eus-gaap--SharePrice_iI_c20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXVHf9Yz213a" title="Purchase price per share">2.47</span>
per share and stock-based compensation of $<span id="xdx_901_eus-gaap--AllocatedShareBasedCompensationExpense_c20230701__20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zqERi5RA4ghg" title="Stock-based compensation">70,434</span> was recognized. The purchase price for one share of Common Stock under the ESPP is equal to 85% of the fair market value of one share of
Common Stock on the first trading day of the offering period or the purchase date, whichever is lower.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">2022 Transactions</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On January 11, 2022, shareholders converted <span id="xdx_90A_ecustom--ConversionOfStockSharesIssued_c20220110__20220111_zpQeddrAwtob" title="Conversion of shares">710</span>&#160;and
<span id="xdx_909_ecustom--ConversionOfStockSharesIssued_c20220110__20220111__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zviBF09Pip43" title="Conversion of shares">1,790</span> for a total of 2,500 shares of Series C Convertible Preferred Stock collectively with a stated value of $2.5 million owned by two
entities related to each other with a conversion price of $<span id="xdx_903_eus-gaap--CommonStockConvertibleConversionPriceIncrease_c20220110__20220111_zbnHIB8XpQWh" title="Conversion price">5.50</span> per common share resulting in the issuance of 129,091 and 325,455 shares
of the Company&#8217;s common stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On February 3, 2022, the Company closed an offering
of <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220202__20220203_zrPNrCasW7Y" title="Number of shares issued, shares">1,325,000</span> shares of common stock in the amount of $<span id="xdx_902_eus-gaap--StockIssuedDuringPeriodValueNewIssues_pp0p0_c20220202__20220203_zGu3kt8EDgvi" title="Number of shares issued, value">5,300,000</span> or $<span id="xdx_902_eus-gaap--SharePrice_iI_c20220203_z2APMPsbx4cb" title="Purchase price per share">4</span> per share before certain underwriting fees and offering expenses
with net proceeds of $<span id="xdx_903_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_pp0p0_c20220202__20220203_zxCVGIWhwNFh" title="Proceeds from offering cost">4,779,000</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On February 21, 2022, the Company closed on an &#8220;over-allotment&#8221;
offering of <span id="xdx_903_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220220__20220221_zVvmL5BmgZK" title="Number of shares issued, shares">198,750</span> shares of common stock in the amount of $<span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueNewIssues_pp0p0_c20220220__20220221_zAzuGNrkyLLe" title="Number of shares issued, value">795,000</span> or $<span id="xdx_90E_eus-gaap--SharePrice_iI_c20220221_zqsrPQzsrQY4" title="Purchase price per share">4</span> per share before certain underwriting fees and offering expenses
with net proceeds of $<span id="xdx_90F_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_pp0p0_c20220220__20220221_ztheXUxFodaj" title="Proceeds from offering cost">739,350</span>. Both this and the previous issuance were &#8220;takedowns&#8221; from a previously filed &#8220;shelf&#8221;
registration statement for the offer of up to $<span id="xdx_90E_eus-gaap--CommonStockIssuedEmployeeTrustDeferred_iI_pp0p0_c20220221_zp9j6T4s3WV8" title="Aggregate common stock">50,000,000</span> in the aggregate of common stock, Preferred Stock, Debt Securities, Warrants,
Rights or Units from time to time in one or more offerings.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On March 31, 2022, the Company issued <span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220101__20220331__srt--TitleOfIndividualAxis__srt--DirectorMember_zaH6tUO0n9dh" title="Stock issued for services , shares">7,198</span>
shares of common stock for payment of board fees to four directors in the amount of $<span id="xdx_905_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20220101__20220331__srt--TitleOfIndividualAxis__srt--DirectorMember_z1JbQpBPum9" title="Stock issued for services, value">40,000</span>
at $<span id="xdx_90D_eus-gaap--SaleOfStockPricePerShare_iI_c20230331__srt--TitleOfIndividualAxis__srt--DirectorMember_zMBd0KRw9Tt9" title="Services per share">5.56</span> per share for services to the board which was expensed during the three months ended March 31, 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On June 30, 2022, the Company issued <span id="xdx_906_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220401__20220630__srt--TitleOfIndividualAxis__srt--DirectorMember_z333wLAJhigl" title="Stock issued for services , shares">10,668</span>
shares of common stock for payment of board fees to four directors in the amount of $<span id="xdx_901_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20220401__20220630__srt--TitleOfIndividualAxis__srt--DirectorMember_z8H7O1EnIsp" title="Stock issued for services, value">40,000</span>
at $<span id="xdx_90C_eus-gaap--SaleOfStockPricePerShare_iI_c20230630__srt--TitleOfIndividualAxis__srt--DirectorMember_zDGoEy5pQ7X1" title="Services per share">3.75</span> per share for services to the board which was expensed during the three months ended June 30, 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On August 25, 2022, <span id="xdx_903_ecustom--ConvertedToCommonStockShares_c20220824__20220825_zuME2Rfo4sgj" title="Converted to common stock shares">121,572</span> common shares were issued
upon conversion of <span id="xdx_90D_ecustom--ConvertedToCommonStockShares_c20220824__20220825__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zF3IPcsJFe2l" title="Converted to common stock shares">851</span> shares of Series B Preferred Stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 30, 2022, the Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220701__20220930__srt--TitleOfIndividualAxis__srt--DirectorMember_z3G87PQ9aZu2" title="Stock issued for services , shares">9,758</span> shares
of common stock for payment of board fees to four directors in the amount of $<span id="xdx_909_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20220701__20220930__srt--TitleOfIndividualAxis__srt--DirectorMember_z4z6E3rQ2Nih" title="Stock issued for services , value">40,000</span>, or $4.09 per share based on the daily trading price,
for services to the board which was expensed during the three months ended September 30, 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On September 30, 2022, we sold to certain existing
investors in the Company in a private placement <span id="xdx_907_eus-gaap--PartnersCapitalAccountUnitsSoldInPrivatePlacement_c20220701__20220930__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zFioAmfFEr5l" title="Private placement sold">818,335</span> shares of common stock at a price of $<span id="xdx_90B_eus-gaap--SaleOfStockPricePerShare_iI_c20220930__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zg4BaPd3Tv2d" title="Share price">3.00</span> a share and <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesOther_c20220701__20220930__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zt9an4Aozmbc" title="Number of shares issued">999</span> shares of Series D
Preferred Stock at a price of $<span id="xdx_901_eus-gaap--SharePrice_iI_c20220930__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z6BzLuKqB458" title="Share price">1,000</span> a share, resulting in the gross amount raised of $<span id="xdx_902_eus-gaap--ProceedsFromIssuanceOfPrivatePlacement_c20220701__20220930__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zJM95FzjpzTb" title="Gross proceeds private placement">3,454,003</span> and we accrued estimated offering costs
of $<span id="xdx_906_ecustom--AccruedOfferingCosts_iI_c20220930_zzcn28BogP07" title="Accrued offering costs">260,816</span> as of September 30, 2022. Subsequently, we adjusted the estimated offering costs to the actual amount of $<span id="xdx_903_eus-gaap--DeferredOfferingCosts_iI_c20220930_zqk0KYbe5nNf" title="Offering costs">257,240</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On October 29, 2022, we sold to an existing investor
in the Company and two accredited investors in a private placement <span id="xdx_90E_eus-gaap--PartnersCapitalAccountUnitsSoldInPrivatePlacement_c20221028__20221029__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zD8K46FKV4Qi" title="Private placement sold">83,667</span> shares of common stock at a price of $<span id="xdx_901_eus-gaap--SaleOfStockPricePerShare_iI_c20221029__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zPMP8vYBwFw9" title="Share price">3.00</span> a share and <span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesOther_c20221028__20221029__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z6XAROULBKc" title="Number of shares issued">300</span> shares
of Series D Preferred Stock at a price of $<span id="xdx_901_eus-gaap--SharePrice_iI_c20221029__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zsllYWmh7mX" title="Share price">1,000</span> a share, resulting in the gross amount raised of $<span id="xdx_905_eus-gaap--ProceedsFromIssuanceOfPrivatePlacement_c20221028__20221029__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z1Xh0SmTtbt6" title="Gross proceeds private placement">551,001</span>, including gross proceeds of
$251,001 for common stock and $300,000 for Series D Preferred Stock, and recorded offering costs of $<span id="xdx_90B_eus-gaap--DeferredOfferingCosts_iI_c20221029_z3VEDc5cVKX3" title="Offering costs">105,460</span>.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On December 30, 2022, the Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20231001__20231231__srt--TitleOfIndividualAxis__srt--DirectorMember_zpHYTpk6Vc46" title="Stock issued for services , shares">16,335</span>
shares of common stock for payment of board fees to four directors in the amount of $<span id="xdx_908_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20231001__20231231__srt--TitleOfIndividualAxis__srt--DirectorMember_zdgofJF6FhA4" title="Stock issued for services , value">37,500</span>
at $<span id="xdx_901_eus-gaap--SaleOfStockPricePerShare_iI_c20231231__srt--TitleOfIndividualAxis__srt--DirectorMember_zysfTzbHftKc" title="Services per share">2.30</span> per share for services to the board which was expensed during the three months ended December 31, 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Employee Stock Purchase Plan</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In the fourth quarter of 2022, the board of
directors adopted an Employee Stock Purchase Plan (&#8220;ESPP&#8221;) which, was effective as of January 1, 2023 with a term of <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20231001__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zvnVGgPpJCs9" title="Plan, term">10</span>
years. <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_c20231001__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zMZUDFr34Ru5" title="Plan, description">The ESPP allows eligible employees to purchase shares of the Company's common stock at a discounted price, through payroll
deductions from a minimum of 1% and up to 25% of their eligible compensation up to a maximum of $25,000 or the IRS allowable limit
per calendar year.</span> The Company&#8217;s Chief Financial Officer administers the ESPP in conjunction with approvals from the
Company&#8217;s Compensation Committee, including with respect to the frequency and duration of offering periods, the maximum number
of shares that an eligible employee may purchase during an offering period, and, subject to certain limitations set forth in the
ESPP, the per-share purchase price. Currently, the maximum number of shares that can be purchased by an eligible employee under the
ESPP is 10,000 shares per offering period and there are two six-month offering periods that begin in the first and third quarters of
each fiscal year. The purchase price for one share of Common Stock under the ESPP is currently equal to 85% of the fair market value
of one share of Common Stock on the first trading day of the offering period or the purchase date, whichever is lower (look-back
feature). Although not required by the ESPP, all payroll deductions received or held by the Company under the ESPP are segregated
and deemed as &#8220;restricted cash&#8221; until the completion of the offering period and redemption of the applicable shares and
those withheld amounts are recorded as liabilities. The maximum aggregate number of shares of the Common Stock that may be issued
under the ESPP is <span id="xdx_906_eus-gaap--CommonStockCapitalSharesReservedForFutureIssuance_iI_c20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_z1MlV7jNxLBj" title="Maximum aggregate number of shares of common stock">1,000,000</span> shares.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under ASC 718-50 &#8220;Employee Share
Purchase Plans&#8221; the plan is considered a compensatory plan and the compensation for each six-month offering period is computed
based upon the grant date fair value of the estimated shares to be purchased based on the estimated payroll deduction withholdings.
The grant date fair value was computed as the sum of (a) 15% purchase discount off of the grant date quoted trading price of the
Company&#8217;s common stock and (b) the fair value of the look-back feature of the Company&#8217;s common stock on the grant date
which consists of a call option on 85% of a share of common stock and a put option on 15% of a share of common stock.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In the year ended December
31, 2023, the Company issued <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c20230101__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_z2tnGwSTZcI5" title="Issued shares">111,538</span>
shares of common stock related to two transactions. For the six months ended June 30, 2023, the employee contributions for the first
ESPP tranche totaled $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_pp0p0_c20230101__20230630__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zGUIMeNNwuJe" title="Employee contributions">117,048</span>
and represented a purchase price of $<span id="xdx_900_eus-gaap--SharePrice_iI_c20230630__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zbQsclzi5jz7" title="Share price">1.79</span>
per share for <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c20230101__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zOrqkIMhBcKa" title="Issued shares">65,561</span>
shares. For the six-month period beginning July 1, 2023 and ending December 31, 2023 the employee contributions for the second ESPP
tranche totaled $<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_pp0p0_c20230701__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zOWo8cuAqdF9" title="Employee contributions">113,352</span>
and represented a purchase price of $<span id="xdx_907_eus-gaap--SharePrice_iI_c20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zjfxHuCPmll2" title="Share price">2.47</span>
per share for <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c20230701__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zbwmKlqTptWd" title="Issued shares">45,977</span>
shares.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Stock-Based Compensation</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Stock-based compensation expense recognized
under ASC 718-10 for the years ended December 31, 2023 and 2022, was $<span id="xdx_906_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_zcqVUUcm1tP" title="Stock-based compensation expense">573,441</span>
and $<span id="xdx_907_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_z8TfVKr7NaFi" title="Stock-based compensation expense">819,191</span>,
respectively, for stock options granted to employees and directors. This expense is included in selling general and administrative
expenses in the consolidated statements of operations. Stock-based compensation expense recognized during the periods is based on
the grant date fair value of the portion of share-based payment awards that is ultimately expected to vest during the period. At
December 31, 2023, the total compensation cost for stock options that was not yet recognized was $<span id="xdx_909_ecustom--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_pp0p0_c20231231_zFCpZH4x1F12" title="Total compensation cost for stock options">580,572</span>.
This cost will be recognized over the remaining vesting term of the options ranging from <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dtM_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zxRAYzZ7uq9a" title="Vesting term">12</span> months to <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dtY_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zC932whmAEE7" title="Vesting term">2.0</span>
years.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Treasury Stock</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In August 2016, the Company&#8217;s Board of
Directors approved a new class of Preferred Stock, &#8220;Series A&#8221;. For shareholders who invested in previous private placements,
the Company was offering on a case-by-case basis, the ability to convert the existing amount invested into an equivalent amount in the
Series A on the condition that they invest an equivalent additional amount in the Series A. In December of 2017, the Company redeemed
all of the Series A and continues to hold <span id="xdx_90F_eus-gaap--TreasuryStockCommonShares_c20171231_pdd" title="Treasury stock shares">235</span> shares purchased for $<span id="xdx_90D_eus-gaap--TreasuryStockCommonValue_c20171231_pp0p0" title="Treasury stock">148,000</span> as a part of the original transaction. In December 2018, the
Company entered into an agreement with two shareholders to purchase shares from them at fair market value. The Company purchased <span id="xdx_90D_eus-gaap--PaymentsForRepurchaseOfCommonStock_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_pp0p0" title="Repurchase of common stock">84</span> shares
at $<span id="xdx_909_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_pdd" title="Market value of stock repurchased">7.00</span> per shares and <span id="xdx_904_eus-gaap--PaymentsForRepurchaseOfCommonStock_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_pp0p0" title="Repurchase of common stock">140</span> shares at $<span id="xdx_903_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_pdd" title="Market value of stock repurchased">6.30</span> per share. In 2019, the Company entered into an agreement with two shareholders to purchase
shares from them at fair market value. The Company purchased <span id="xdx_90F_eus-gaap--PaymentsForRepurchaseOfCommonStock_pp0p0_c20230101__20231231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_zrTgHVX9dF8h" title="Repurchase of common stock">115</span> shares at $<span id="xdx_902_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20230101__20231231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_zH6OQYUj22ve" title="Market value of stock repurchased">10.08</span> per share and <span id="xdx_90C_eus-gaap--PaymentsForRepurchaseOfCommonStock_pp0p0_c20220101__20221231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_z4EnCUMRbXf8" title="Repurchase of common stock">753</span> shares at $<span id="xdx_907_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20220101__20221231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_zG3w3wTt40C4" title="Market value of stock repurchased">9.09</span> per share. Accordingly,
as of December 31, 2023, and 2022, the Company held <span id="xdx_90A_eus-gaap--TreasuryStockCommonShares_iI_c20231231_zp5AbZu1JNQ" title="Treasury stock shares"><span id="xdx_902_eus-gaap--TreasuryStockCommonShares_iI_c20221231_zGGE5tyqaxL9" title="Treasury stock shares">1,324</span></span> shares of Common at an aggregate value of $<span id="xdx_90F_eus-gaap--TreasuryStockCommonValue_iI_pp0p0_c20231231_zl7tiwSYW53f" title="Treasury stock"><span id="xdx_909_eus-gaap--TreasuryStockCommonValue_pp0p0_c20221231_zOsLiyGtsWz8" title="Treasury stock">157,452</span></span>.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037995264208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMON STOCK OPTIONS AND WARRANTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">COMMON STOCK OPTIONS AND WARRANTS</a></td>
<td class="text"><p id="xdx_80B_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zIR0Hc9HnJa6" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 13 &#8211; <span id="xdx_824_zYSptAOBIwF6">COMMON STOCK OPTIONS AND WARRANTS</span>
</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Options</span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2023</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the second quarter of 2023, the
Company&#8217;s Board of Directors granted <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230401__20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zrrFay42lzFk" title="Options granted">293,117</span>
new stock options and in the fourth quarter granted a further <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20231001__20231231__srt--TitleOfIndividualAxis__srt--ManagementMember_zUl23Adz8s76" title="Stock option granted">170,000</span>
new stock options both with a strike price of $<span id="xdx_904_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zUQfzY0Vl6rj" title="Strike price"><span id="xdx_90F_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20231231__srt--TitleOfIndividualAxis__srt--ManagementMember_zcqhxY5sViz1" title="Strike price">4.22</span></span>
per share to 19 key employees and one contract employee. These options were awarded as a one-time award as a retention incentive and
have a fair value of approximately $<span id="xdx_907_eus-gaap--StockOptionPlanExpense_pp0p0_c20230330__20230402__srt--TitleOfIndividualAxis__srt--ManagementMember_z4KBvqMC3LDd" title="Stock option plan expense">556,000</span>
for the April 1, 2023 awards and approximately $<span id="xdx_903_eus-gaap--StockOptionPlanExpense_c20231129__20231201__srt--TitleOfIndividualAxis__srt--ManagementMember_zA00w4h0tYp5" title="Stock option plan expense">172,000</span>
for the December 1, 2023 award and carry a three-year vesting period. The issuance of these options generated stock option
compensation expense in the year in the amount of $<span id="xdx_90C_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20230401__20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zgOpnNn87B7" title="Stock-based compensation expense">269,611</span>
and a balance of unamortized stock option compensation expense of $<span id="xdx_90C_eus-gaap--UnamortizedDebtIssuanceExpense_iI_pp0p0_c20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zgQlKDHRJmQ9" title="Unamortized expense">458,389</span>,
that is being expensed over the following <span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230401__20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zmMatGxYuAQk" title="Total compensation cost for stock options not yet recognized, period">2.0</span>
years.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the first quarter of 2023, two former staff
members forfeited <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_c20230101__20230331__us-gaap--AwardTypeAxis__custom--OptionsMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--FormerStaffMember_zVPwgyEj1g3l" title="Non-qualified stock options, forfeited">1,608</span> non-qualified stock options as the options expired.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2022</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the first quarter of 2022, the Company&#8217;s
Board of Directors granted <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_zPX07jsnnGm8" title="Options granted">665,000</span> new stock options and in the third quarter granted a further <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220701__20220930__srt--TitleOfIndividualAxis__srt--ManagementMember_zuAEPa1EaLu4" title="Stock option granted">20,000</span> new stock options both with a strike
price of $<span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_zwNeZm1goHU4" title="Strike price"><span id="xdx_905_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20220930__srt--TitleOfIndividualAxis__srt--ManagementMember_zZhDxkz1Vsr" title="Strike price">6.41</span></span> per share to 16 key employees. These options were awarded as a one-time award as a retention incentive and have a fair
value of $<span id="xdx_902_eus-gaap--StockOptionPlanExpense_pp0p0_c20211228__20220102__srt--TitleOfIndividualAxis__srt--ManagementMember_zQdDZH2I8Ms1" title="Stock option plan expense">1,596,804</span> for the January 1, 2022 awards and $<span id="xdx_90F_eus-gaap--StockOptionPlanExpense_c20220701__20220702__srt--TitleOfIndividualAxis__srt--ManagementMember_zIbAL6i9DK57" title="Stock option plan expense">33,096</span> for the July 1, 2022 award and carry a three-year vesting period. The issuance
of these options generated stock option compensation expense in the year in the amount of $<span id="xdx_903_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_z5zIlIVHNzCd" title="Stock-based compensation expense">819,191</span> and a balance of unamortized stock
option compensation expense of $<span id="xdx_903_eus-gaap--UnamortizedDebtIssuanceExpense_iI_pp0p0_c20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_znxhgYYPLjWb" title="Unamortized expense">458,389</span>, that is being expensed over the following <span id="xdx_903_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20220101__20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_z7G0Q3BdUYdh" title="Total compensation cost for stock options not yet recognized, period">2.0 </span>years.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the second quarter of 2022, three former staff
members forfeited <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_c20220401__20220630__us-gaap--AwardTypeAxis__custom--OptionsMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--FormerStaffMember_zoo7tlTG5qIh" title="Non-qualified stock options, forfeited">110,000</span> non-qualified stock options. Additionally, during the third quarter of 2022, two employees forfeited <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_c20220701__20220930__us-gaap--AwardTypeAxis__custom--OptionsMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--TwoEmployeesMember_zWeWsK4OYe9i" title="Non-qualified stock options, forfeited">80,000</span>
non-qualified stock options.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the third quarter of 2021, the shareholders
approved the issuance of up to one million shares or share equivalents in the form of stock options for the purposes of share issuance
for compensation to Board Members and grants to certain staff members for recruiting and retention. On August 5,  2021, the Company filed
an S-8 registration statement in concert with the 2021 Equity Incentive Plan. The plan covers a period of ten years.</p>

<table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zwN3W4My0nSc" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B0_zJYezsyfR1oc" style="display: none">Schedule of options activity</span>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Weighted</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Weighted</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Average</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Average</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Remaining</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Aggregate</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Exercise</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Contractual</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Intrinsic</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Shares</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Price</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Term (Years)</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Value</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 44%; text-align: justify">Outstanding at December 31, 2021</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTfbtaKxVCci" style="width: 11%; text-align: right; line-height: 106%" title="Shares outstanding at beginning"><span style="line-height: 106%">431,266</span></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmPPGJ4lJfu7" style="width: 11%; text-align: right" title="Weighted average exercise price outstanding at beginning">4.98</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 11%; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRvR6tCckBXg" title="Weighted average remaining contractual term (years) outstanding">3.4</span></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z2LKXtu4Txm" style="width: 11%; text-align: right" title="Aggregate intrinsic value outstanding at beginning">197,506</td>
    <td style="width: 1%; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Granted</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z0w0n9RwQnT4" style="text-align: right; line-height: 106%" title="Shares, granted"><span style="line-height: 106%">685,000</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zbIkw5dc5gx9" style="text-align: right; line-height: 106%" title="Weighted average exercise price, granted"><span style="line-height: 106%">6.41</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right; line-height: 106%"><span style="line-height: 106%"><span id="xdx_909_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNyzMeQ0JQlh" title="Weighted average remaining contractual term (years), granted">4.0</span></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Forfeited</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: justify">&#160;</td>
    <td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOOlPJ1ajV6i" style="border-bottom: Black 1pt solid; text-align: right" title="Shares, forfeited">(190,000</td>
    <td style="text-align: justify">)</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZiSUJAJxXUj" style="text-align: right" title="Weighted average exercise price, forfeited">6.41</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Outstanding at December 31, 2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrwFgqYaNp74" style="border-bottom: black 2.25pt double; text-align: right; line-height: 106%" title="Shares outstanding at end"><span style="line-height: 106%">926,266</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSHnI68d2iw3" style="text-align: right; line-height: 106%" title="Weighted average exercise price outstanding at end"><span style="line-height: 106%">5.74</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOJxnkysXrlk" title="Weighted average remaining contractual term (years) outstanding">3.3</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrURwmBZwC0d" style="text-align: right; line-height: 106%" title="Aggregate intrinsic value outstanding at end"><span style="line-height: 106%"><span style="-sec-ix-hidden: xdx2ixbrl1974">&#8212;</span></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Exercisable at December 31, 2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAKZvcscc7le" style="border-bottom: black 2.25pt double; text-align: right" title="Shares, exercisable">404,599</td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zcWVEtMqHpqf" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price, exercisable">5.02</td>
    <td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right; line-height: 106%"><span style="line-height: 106%"><span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6iOGi5qxk9" title="Weighted average remaining contractual term (years) exercisable">3.3</span></span></td>
    <td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd7hFGG3t8g6" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value exercisable"><span style="-sec-ix-hidden: xdx2ixbrl1982">&#8212;</span></td>
    <td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Outstanding at December 31, 2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoElHYuLr7N4" style="text-align: right; line-height: 106%" title="Shares outstanding at beginning"><span style="line-height: 106%">926,266</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zv2Y4RcqmZR9" style="text-align: right; line-height: 106%" title="Weighted average exercise price outstanding at beginning"><span style="line-height: 106%">5.74</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right; line-height: 106%"><span style="line-height: 106%"><span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zb2AYLBlA0wa" title="Weighted average remaining contractual term (years) outstanding">3.3</span></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXbiN4RC05F6" style="text-align: right" title="Aggregate intrinsic value outstanding at beginning"><span style="-sec-ix-hidden: xdx2ixbrl1990">&#8212;</span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Granted</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zLzohRUS0WCl" style="text-align: right" title="Shares, granted">463,117</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgb4vZjXHdYk" style="text-align: right" title="Weighted average exercise price, granted">4.22</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right"><span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmgQ05cAoVV1" title="Weighted average remaining contractual term (years), granted">4.35</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Exercised/Forfeited</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z6OGsV1kKqd9" style="text-align: right" title="Shares, exercised/forfeited">(1,608</td>
    <td style="text-align: justify">)</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z8AZRaotLy89" style="text-align: right" title="Weighted average exercise price, exercised/forfeited">14.00</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Outstanding at December 31, 2023</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTvCX0Gc70l" style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: right" title="Shares outstanding at end">1,387,775</td>
    <td style="border-top: white 1pt solid; border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVhYXNj7UIo6" style="border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price outstanding at end">5.23</td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgC26Tluhwhb" title="Weighted average remaining contractual term (years) outstanding">3.0</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6mNdDXqd88" style="border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"><span style="-sec-ix-hidden: xdx2ixbrl2008">&#8212;</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Exercisable at December 31, 2023</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z9F3TwdN80Jg" style="border-bottom: black 2.25pt double; text-align: right" title="Shares, exercisable">581,324</td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zqWzhYUFrup3" style="border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price, exercisable">5.38</td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: right"><span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrc6JJMfTNE6" title="Weighted average remaining contractual term (years) exercisable">1.8</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zyK363aAbl68" style="border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value exercisable"><span style="-sec-ix-hidden: xdx2ixbrl2016">&#8212;</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The fair value of the incentive stock option grants
for the years ended December 31, 2023 and 2022 were estimated using the following weighted- average assumptions:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<table cellpadding="0" cellspacing="0" id="xdx_883_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zArARYAEdFn2" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B5_zf50c5AuorL8" style="display: none">Schedule of weighted- average assumptions</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">For the Years Ended<br/> December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Risk free interest rate</td><td></td>
    <td style="text-align: center"></td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfQIjymb0d91" title="Risk free interest rate"></span>  <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7VtVQCVXL0i" title="Risk free interest rate">3.73</span>%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zB5aGaMyhr2j" title="Risk free interest rate">0.97%</span> &#8211; <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z72CCp0HlrU9" title="Risk free interest rate">3.15</span>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; text-align: justify">Expected term in years</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: center">&#160;</td><td style="width: 14%; text-align: center"><span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z27pu6zDTDtj" title="Expected term in years">3.50</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: center">&#160;</td><td style="width: 14%; text-align: center"><span style="line-height: 105%"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7ca4ibQiTle" title="Expected term in years">3.25</span> &#8211; <span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPgMXGYdzGj" title="Expected term in years">3.50</span></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Dividend yield</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zaNcpF9zvqFj" title="Dividend yield"><span style="-sec-ix-hidden: xdx2ixbrl2034">&#8212;</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJLNiGFzi3Jk" title="Dividend yield"><span style="-sec-ix-hidden: xdx2ixbrl2036">&#8212;</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Volatility of common stock</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeL5eaUEDvgf" title="Volatility of common stock">54%</span>
                                              &#8211;<span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIImQQlq3Q98" title="Volatility of common stock">118</span>%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYY3QqUoFyib" title="Volatility of common stock">72% </span>
                                              &#8211; <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zwQDQE0ZhEIg" title="Volatility of common stock">80</span>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Weighted average grant date fair value per option</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPmNmd9o6A3" title="Weighted average grant date fair value per option">$1.57</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">$<span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zio6m7Uz5Zt3" title="Weighted average grant date fair value per option">2.33&#160;</span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline">Warrants</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2023</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the first and fourth quarters of 2023, warrants
held by 48 holders representing <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember__srt--CounterpartyNameAxis__custom--FourtyEightWarrantsHoldersMember_z845fJpxeKj5" title="Shares expired"><span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20231001__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember__srt--CounterpartyNameAxis__custom--FourtyEightWarrantsHoldersMember_zVRm7RiHsZ3f" title="Shares expired">102,947</span></span> shares expired. All of the expired warrants can no longer be exercised.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2022</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the fourth quarter of 2022, warrants held by
63 holders representing <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20221001__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember__srt--CounterpartyNameAxis__custom--SixtyThreeWarrantsHoldersMember_zvFi1xHcVWvg" title="Shares expired">1,228,875</span> shares expired. All of the expired warrants can no longer be exercised.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>













<table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zrDJOfIE3kf9" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BA_zqhVsRlA3Ke6" style="display: none">Schedule of warrants outstanding</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Weighted</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Weighted</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Average</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Average</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Remaining</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Aggregate</td><td style="font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Number of</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Exercise</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Contractual</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Intrinsic</td><td style="font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Warrants</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Price</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Term (Years)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Value</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%">Outstanding at December 31, 2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z0w7IJh2Z1Ta" style="width: 10%; text-align: right" title="Number of warrants outstanding at beginning">1,376,466</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zyWhQtdYV6ff" style="width: 10%; text-align: right" title="Weighted average exercise price outstanding at beginning">8.18</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_907_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgvQhpBoilL6" title="Weighted average remaining contractual term (years)">1.9</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zz1PNRbJfCb4" style="width: 10%; text-align: right" title="Aggregate intrinsic value outstanding at beginning"><span style="-sec-ix-hidden: xdx2ixbrl2068">&#8212;</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGBnjOMy9kOj" style="text-align: right" title="Warrants expired, forfeited, cancelled or exercised">(1,228,875</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98D_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zrxsoQXCuxK1" style="text-align: right" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised"><span style="-sec-ix-hidden: xdx2ixbrl2072">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Warrants issued</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ConversionOfStockSharesIssued1_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE5GxMtNTOak" style="border-bottom: Black 1pt solid; text-align: right" title="Warrants issued"><span style="-sec-ix-hidden: xdx2ixbrl2074">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_988_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zooOWGpf031g" style="text-align: right" title="Weighted average exercise price, warrants issued"><span style="-sec-ix-hidden: xdx2ixbrl2076">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zPLHttcTUO4l" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants outstanding at end">80,091</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJq6xNuAjY5" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price outstanding at end">8.63</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_900_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zLageLx4pVbe" title="Weighted average remaining contractual term (years)">0.98</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztYCmgq5Rdk8" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"><span style="-sec-ix-hidden: xdx2ixbrl2084">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Exercisable at December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE1yezitepmb" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants, exercisable">80,091</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuxCYHqR0Lpl" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price, exercisable">8.63</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1VhWjaJAswb" title="Weighted average remaining contractual term (years), exercisable">0.8</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztw17ZNw1ZN5" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value, exercisable"><span style="-sec-ix-hidden: xdx2ixbrl2092">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Outstanding at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zoD9mxQQG092" style="text-align: right" title="Number of warrants outstanding at beginning">80,091</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98C_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zdP7bab84vKj" style="text-align: right" title="Weighted average exercise price outstanding at beginning">8.63</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZDEU4SQOHQ1" title="Weighted average remaining contractual term (years), exercisable">0.8</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zX88U59TjoM3" style="text-align: right" title="Aggregate intrinsic value outstanding at beginning"><span style="-sec-ix-hidden: xdx2ixbrl2100">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zi6U7g1KdNQg" style="text-align: right" title="Warrants expired, forfeited, cancelled or exercised">(102,947</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbbGTlG2NdUd" style="text-align: right" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised"><span style="-sec-ix-hidden: xdx2ixbrl2104">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Warrants issued</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ConversionOfStockSharesIssued1_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zQfRULFz1Ahi" style="border-bottom: Black 1pt solid; text-align: right" title="Warrants issued"><span style="-sec-ix-hidden: xdx2ixbrl2106">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk1q3q81qcSd" style="text-align: right" title="Weighted average exercise price, warrants issued"><span style="-sec-ix-hidden: xdx2ixbrl2108">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU5bYtgTjwv8" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants outstanding at end">44,644</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRxIac0uaDt8" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price outstanding at end">7.70</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU2CK6g1GW79" title="Weighted average remaining contractual term (years)">0.7</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zceK5biiFXWb" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"><span style="-sec-ix-hidden: xdx2ixbrl2116">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Exercisable at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8di5qjrSmW9" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants, exercisable">44,644</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zKNRnJdIjmF7" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price, exercisable">7.70</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zlNsmaY2iB05" title="Weighted average remaining contractual term (years), exercisable">0.7</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRMPUZUaS91b" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value, exercisable"><span style="-sec-ix-hidden: xdx2ixbrl2124">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140038015661120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEFINED CONTRIBUTION PLAN<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanTextBlock', window );">DEFINED CONTRIBUTION PLAN</a></td>
<td class="text"><p id="xdx_807_eus-gaap--DefinedContributionPlanTextBlock_zZLmYXqVh35j" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 14 &#8211; <span id="xdx_826_zH3MnlZczFYh">DEFINED CONTRIBUTION PLAN</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has a 401(k)-retirement savings plan (the
&#8220;401(k) Plan&#8221;) covering all eligible employees. The 401(k) Plan allows employees to defer a portion of their annual compensation,
and the Company may match a portion of the employees&#8217; contributions generally after the first six months of service. During the
year ended December 31, 2023, the Company matched 100% of the first 4% of eligible employee compensation that was contributed to the 401(k)
Plan. For the year ended December 31, 2023, the Company recognized expense for matching cash contributions to the 401(k) Plan totaling
$<span id="xdx_900_eus-gaap--DefinedBenefitPlanServiceCost_pp0p0_c20230101__20231231_zE0JXynrA5ok" title="Cash contributions">216,332</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;&#160;</b></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//715-70/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900165376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RELATED PARTY TRANSACTIONS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">RELATED PARTY TRANSACTIONS</a></td>
<td class="text"><p id="xdx_80B_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_z5ttNb4WFlL7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 15 &#8211; <span id="xdx_821_zCqxUkgGTY1g">RELATED PARTY TRANSACTIONS</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There were no related party transactions for the periods reflected
in this report.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037896841104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SALE OF ASSETS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_DisclosureSaleOfAssetsAbstract', window );"><strong>Sale Of Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SaleOfAssetsTextBlock', window );">SALE OF ASSETS</a></td>
<td class="text"><p id="xdx_802_ecustom--SaleOfAssetsTextBlock_zIlJofpMBlE6" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 16 &#8211;<span id="xdx_820_zYf1bbu5cf3f"> SALE OF ASSETS</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On June 29, 2023, the Company completed a transaction
whereby it sold assets related to its Integrated Correctional Automation System (iCAS) business with a single customer. In the fourth
quarter of 2022, the Company elected to not renew a support contract due to the limited nature of the business. The transaction was completed
with a third-party buyer of which the Company&#8217;s former Chief Financial Officer is a director. Said former officer did not participate
in the transaction on behalf of the Company.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The assets of the iCAS business were sold for a convertible
promissory note with a principal amount of $<span id="xdx_902_ecustom--PrincipalAmount_pp0p0_c20230101__20231231_zBqGUGu7xKJ" title="Principal amount">165,000</span> with a <span id="xdx_908_ecustom--OriginalIssueDiscount_dp_c20230101__20231231_ziWQXXycKUYd" title="Original issue discount">10</span>% original issue discount as well as common stock purchase warrants. The
note matures in 2 years from the date of sale and is convertible immediately through the later of the maturity date or payment by the
borrower of the default amount, as defined in the note, into shares of the buyer&#8217;s common stock at a conversion price of $<span id="xdx_904_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20231231_zkDHJfK13ud5" title="Conversion price">0.003</span>
or <span id="xdx_90E_eus-gaap--CommonStockDividendsShares_c20230101__20231231_zefD6ZZq1yv8" title="Common stock shares">55,000,000</span> shares. The conversion of the note carries restrictions which include limiting conversion to the extent it would exceed
4.99% of the common stock outstanding of the buyer. The convertible promissory note is subject to standard anti-dilution provisions.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The common stock purchase warrants are for a total
of <span id="xdx_90B_ecustom--PurchaseOfCommonStockWarrants_c20230101__20231231_zGdocj3J9eU6" title="Purchase of common stock warrants">55,000,000</span> common shares of the buyer at an exercise price of $<span id="xdx_904_eus-gaap--WarrantExercisePriceIncrease_c20230101__20231231_zu111FVXO6i9" title="Exercise price">0.01</span> per share. The warrants are subject to standard anti-dilution provisions.
The warrants are not exercisable until on or after six months from the issuance date and no later than on or before the third anniversary
of the issuance date. The Company may exercise the warrants at any time after the six-month anniversary of the issuance date on a cashless
basis if there is no effective registration statement covering the resale of the Warrant Shares at prevailing market prices by the holder.
The exercise of these warrants is subject to beneficial ownership limits of 4.99% which may be increased by the holder up to 9.99% as
defined in the warrant . Given that the shares carried no intrinsic value at the time of the transaction and that the overall fair value
is de minimis, the Company has not recorded the warrants associated with the transaction.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company recognized a gain on sale of assets of
$<span id="xdx_904_eus-gaap--GainLossOnSalesOfAssetsAndAssetImpairmentCharges_pp0p0_c20230101__20231231_zDR98WJDMok8" title="Sale of asset">150,000</span>, which is included in other income.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The original issue discount is being accrued into
interest income over the term of the note.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>









<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>









<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The note receivable was recorded as follows on September
30, 2023:</p>

<table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--ScheduleOfNoteReceivableTableTextBlock_zAJcwLsMQZsh" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SALE OF ASSETS (Details)">
  <tr style="vertical-align: bottom">
    <td id="xdx_8BB_zKS748qY8aY5" style="display: none">Schedule of note receivable</td><td>&#160;</td>
    <td colspan="2" id="xdx_49C_20231231_zn1A6yCmHzpa" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>December 31,</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2023</b></p></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_z7TIb7JSRz3d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: justify">Convertible note receivable</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">165,000</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zcMkXkrSJENc" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt">Unamortized discount</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(11,250</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zRaNDSi1BTli" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt">Convertible note receivable, net</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">153,750</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>



<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_DisclosureSaleOfAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_DisclosureSaleOfAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SaleOfAssetsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SaleOfAssetsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900548976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">SUBSEQUENT EVENTS</a></td>
<td class="text"><p id="xdx_808_eus-gaap--SubsequentEventsTextBlock_zIZ74r3JGzXj" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>NOTE 17 &#8211; <span id="xdx_827_zJD2aSveO7bf">SUBSEQUENT EVENTS</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-size: 10pt"></span></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">On March 22, 2024, the Company conducted
a private placement offering, selling a combined total of <span id="xdx_902_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20240321__20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z29StPMWTpXa">620
</span>Series D Convertible Preferred Stock and <span id="xdx_906_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20240321__20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zKNxBER4b5G">2,125
</span>Series E Convertible Preferred Stock to both existing and new accredited investors. The offering price for both Series D and Series
E was at $<span id="xdx_90E_eus-gaap--SaleOfStockPricePerShare_iI_pip0_c20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z8xsVdIJ9eSb">1,000
</span>per share with a common equivalent of $<span id="xdx_904_eus-gaap--SaleOfStockPricePerShare_iI_pip0_c20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zTRLqF5Mpaq2">3.00
</span>for both classes of shares. The private placement brought in gross proceeds of $<span id="xdx_90F_eus-gaap--SaleOfStockConsiderationReceivedOnTransaction_c20240321__20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z2C5c37QMH75">2,745,000
</span>to the Company. The Series D Convertible Preferred Stock has already been approved for common stock conversion during the Company's
2023 annual shareholders meeting. The Series E Preferred Stock is subject to shareholder approval for conversion to common stock. As
such, the securities purchase agreement for Series E Convertible Preferred Stock carries standard anti-dilution provisions which remain
in effect until December 31, 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with the Purchase Agreement, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company shall
file with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of
Series D and Series E Preferred Stock are convertible. Subject to certain conditions, the Company must cause the registration statement
to be declared effective by 90 days after closing (or in the event of a full review by the SEC, by 120 days). The Registration Rights
Agreement contains customary representations, warranties, agreements and indemnification rights and obligations of the parties. Under
the Purchase Agreement, the Company is required to hold a meeting of shareholders at the earliest practical date, but in no event later
than 120 days after closing (or 150 days in the event of a review of the proxy statement by the Securities and Exchange Commission (the
&#8220;SEC&#8221;)). As described below, the terms of the Series E Preferred Stock limit its convertibility until the Company receives
shareholder approval (the &#8220;Stockholder Approval&#8221;). If the Company does not obtain the Stockholder Approval at the first meeting,
it is required to hold shareholder meetings every four months until the Stockholder Approval is obtained.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Purchase Agreement for Series E Preferred Stock
also provides that the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in
the Purchase Agreement) on or prior to December 31, 2024 that entitles any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Preferred Stock without the consent of the Purchaser.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Registration Rights Agreement contains provisions
for liquidated damages equal to 1% multiplied by the aggregate subscription amount paid, paid each month, in the event certain deadlines
are missed.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037901078352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_NatureOfOperationsPolicyTextBlock', window );">Nature of Operations</a></td>
<td class="text"><p id="xdx_849_ecustom--NatureOfOperationsPolicyTextBlock_zXRXpZsRrDpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_864_zAt9lbVBSfg5">Nature of Operations</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Duos Technologies Group, Inc. (the &#8220;Company&#8221;),
through its operating subsidiaries, Duos Technologies, Inc. (&#8220;Duos&#8221;) and TrueVue360, Inc. (&#8220;TrueVue360&#8221;) (collectively
the &#8220;Company&#8221;), is a company that specializes in machine vision and artificial intelligence to analyze fast moving objects
such as trains, trucks, automobiles, and aircraft. This technology can help improve safety, maintenance, and operating metrics.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company is the inventor of the Railcar Inspection
Portal (RIP) and is currently the rail industry leader for machine vision/camera wayside detection systems that include the use of Artificial
Intelligence at speeds up to 125 mph. The RIP inspects a train at full speed from the top, sides, and bottom looking at FRA/AAR mandated
safety inspection points. The system also detects illegal riders that assists law enforcement agencies. Each rail car is scanned with
machine vision cameras and other sensors from the top, sides, and bottom and images are produced within seconds of passing that can be
used by the customer to help prevent derailments, improve maintenance operations, and assist with security. The Company self-performs
all aspects of hardware, software, IT, and Artificial Intelligence development and engineering and holds several patents and maintains
significant intellectual property. The Company also has a proprietary portfolio of over 48 Artificial Intelligence &#8220;Use Cases&#8221;
that automatically flag defects. The Company has deployed this system with several Class 1 and passenger customers and anticipates an
increased demand in the future from rail operators, car owners, shippers, and law enforcement agencies.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has also developed the Automated Logistics
Information System (ALIS) which automates gatehouse operations where trucks enter and exit large logistics and intermodal facilities.
This solution also incorporates sensors and data points as necessary for each operation and directly interconnects with backend logistics
databases and processes to streamline operations and significantly improve operations and security and, importantly, dramatically improves
throughput on each lane on which the technology is deployed. The Company expects to deploy an upgraded Truck Inspection Portal (TIP) which
uses the same technology and lessons learned from the ALIS and RIP systems.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s strategy is to expand our existing
customer base in the Class 1, short line, and passenger space in North America; expand our subscription offering to car owners and shippers;
and expand operations to meet the demand from international customers. The Company has prepared to respond and scale if necessary to react
to increased demand from potential regulations that may be imposed around wayside detection technology. In the future the Company may
put more emphasis on the trucking and intermodal sector with an updated Truck Inspection Portal solution. The Company continues to focus
on operational and technical excellence, customer satisfaction, and maintaining a highly skilled and performance-based work force.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>









<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zUfUtWLWS0Zc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_868_zMtCYRXsyPH9">Principles of Consolidation</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The consolidated financial statements include the
accounts of the Company and its wholly owned subsidiaries, Duos Technologies, Inc. and TrueVue360, Inc. All inter-company transactions
and balances are eliminated in consolidation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p id="xdx_84D_eus-gaap--UseOfEstimates_zjWxKP3Ab3zk" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86E_z4DtWb0Q80i3">Use of Estimates</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from these
estimates. The most significant estimates in the accompanying consolidated financial statements include the allowance on accounts receivable
and notes receivable, valuation of common stock warrants received in exchange for an asset sale, valuation of deferred tax assets, valuation
of intangible and other long-lived assets, estimates of net contract revenues and the total estimated costs to determine progress towards
contract completion, valuation of inventory, estimates of the valuation of right of use assets and corresponding lease liabilities, valuation
of warrants issued with debt and valuation of stock-based awards. We base our estimates on historical experience and on various other
assumptions that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the
carrying values of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentrations</a></td>
<td class="text"><p id="xdx_845_eus-gaap--ConcentrationRiskCreditRisk_zZc51sYaEjp8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_z08RsoUelm7b">Concentrations</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Cash Concentrations</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Cash is maintained at financial institutions and at
times, balances may exceed federally insured limits. We have not experienced any losses related to these balances. As of December 31,
2023, the Company had balances in a financial institution which combined exceeded federally insured limits by approximately $<span id="xdx_909_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20231231_zF3MQdap36a9" title="Federally insured limits">1,948,794</span>.
Any loss incurred or a lack of access to such funds could have a significant adverse impact on the Company&#8217;s consolidated financial
condition, results of operation and cash flows.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>
















<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Significant Customers and Concentration of Credit
Risk</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company had certain customers
whose revenue individually represented 10% or more of the Company&#8217;s total revenue, or whose accounts receivable balances individually
represented 10% or more of the Company&#8217;s total accounts receivable, as follows:</p>

<p style="font: 8pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For the year ended December 31, 2023, three customers
accounted for <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zGHcHaR8IsZe" title="Concentration risk, percentage">48</span>%,
<span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z7xuwhpXOB42" title="Concentration risk, percentage">30</span>%,
and <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zEAx2hbkbKJ9" title="Concentration risk, percentage">11</span>%
of revenues. For the year ended December 31, 2022, four customers accounted for <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zovlM5YeRNDl" title="Concentration risk, percentage">42</span>%,
<span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zcVX9pOn7sdd" title="Concentration risk, percentage">18</span>%,
<span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zS2jjiU3CUJ7" title="Concentration risk, percentage">14</span>%
and <span id="xdx_908_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zRbVhThOIvWi" title="Concentration risk, percentage">14</span>%
of revenues. In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a rail inspection
portal which, once accepted, must be paid in full, with <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zgLnTfA5JhR9">30</span>%
or more being due and payable prior to delivery. The balances of the contracts are for service and maintenance which is paid annually
in advance with revenues recorded ratably over the contract period.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023, two customers accounted for
<span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zBfDb7yYA6tb" title="Concentration risk, percentage">83</span>%,
and <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zsXCWzCysqn1" title="Concentration risk, percentage">11</span>%,
of accounts receivable. At December 31, 2022, four customers accounted for <span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z5ccrrlmlLP1" title="Concentration risk, percentage">34</span>%,
<span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zTDB5At17REf" title="Concentration risk, percentage">31</span>%,
<span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWWUbQ7R73yd" title="Concentration risk, percentage">19</span>%
and <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zPZrKe5gGQBk" title="Concentration risk, percentage">10</span>%
of accounts receivable. Much of the credit risk is mitigated since all of the customers listed here are Class 1 railroads with a history
of timely payments to us.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Geographic Concentration</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Approximately <span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zrDc6wIfUq1l" title="Concentration risk, percentage">44</span>% and <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z869YDkK91J1" title="Concentration risk, percentage">41</span>% of revenue in 2023 and 2022,
respectively, is generated from customers outside of the United States.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Significant Vendors and Concentration of
Credit Risk</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In some instances, the Company relies on a limited
pool of vendors for key components related to the manufacturing of its subsystems. These vendors are primarily focused on camera, server
and lighting technologies integral to the Company&#8217;s solution. Where possible, the Company seeks multiple vendors for key components
to mitigate vendor concentration risk.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

















<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value of Financial Instruments and Fair Value Measurements</a></td>
<td class="text"><p id="xdx_847_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_z9lCOHVBVl21" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_zI7m7WXhXIkg">Fair Value of Financial Instruments and Fair
Value Measurements</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company follows Accounting Standards Codification
(&#8220;ASC&#8221;) 820, &#8220;Fair Value Measurements and Disclosures&#8221; (&#8220;ASC 820&#8221;), for assets and liabilities measured
at fair value on a recurring basis. ASC 820 establishes a common definition for fair value to be applied to existing generally accepted
accounting principles that requires the use of fair value measurements, establishes a framework for measuring fair value and expands disclosure
about such fair value measurements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">ASC&#160;820 defines fair value as the price that
would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement
date. Additionally, ASC&#160;820 requires the use of valuation techniques that maximize the use of observable inputs and minimize the
use of unobservable inputs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">These inputs are prioritized below:&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 10%; text-align: justify">Level 1:</td>
    <td style="width: 90%">
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify">Observable inputs such as quoted market
    prices in active markets for identical assets or liabilities</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify">&#160;</p></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">Level 2:</td>
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify">Observable market-based inputs or unobservable
    inputs that are corroborated by market data</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify">&#160;</p></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">Level 3:</td>
    <td>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Unobservable inputs for which there is little
or no market data, which require the use of the reporting entity&#8217;s own assumptions that the market participants would use in the
valuation of the asset or liability based on the best available information.</p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company analyzes all financial instruments with
features of both liabilities and equity under the Financial Accounting Standard Board&#8217;s (&#8220;FASB&#8221;) accounting standard
for such instruments. Under this standard, financial assets and liabilities are classified in their entirety based on the lowest level
of input that is significant to the fair value measurement.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The estimated fair value of certain financial instruments,
including accounts receivable, prepaid expenses, accounts payable, accrued expenses and notes payable are carried at historical cost basis,
which approximates their fair values because of the short-term nature of these instruments.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text"><p id="xdx_849_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zPQH94fN8cs1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zseM016u5fra">Accounts Receivable</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On January 1, 2023, the Company adopted ASC 326, "Financial
Instruments - Credit Losses". In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make required payments (current expected losses). The amount of the allowance is determined
principally on the basis of past collection experience and known financial factors regarding specific customers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accounts receivable are stated at estimated net realizable
value. Accounts receivable are comprised of balances due from customers net of estimated allowances for uncollectible accounts. In determining
the collections on the account, historical trends are evaluated, and specific customer issues are reviewed to arrive at appropriate allowances.
The Company reviews its accounts to estimate losses resulting from the inability of its customers to make required payments. Any required
allowance is based on specific analysis of past due accounts and also considers historical trends of write-offs. Past due status is based
on how recently payments have been received from customers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventory</a></td>
<td class="text"><p id="xdx_844_eus-gaap--InventoryPolicyTextBlock_zrSvM8WGjsJ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zW8SQpCTxEAg">Inventory</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Inventory consists primarily of spare parts and consumables
and long-lead time components to be used in the production of our technology systems or in connection with maintenance agreements with
customers. Any inventory deemed to be obsolete is written off. Inventory is stated at the lower of cost or net realizable value. Inventory
cost is primarily determined using the weighted average cost method.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zj0Nwe7QIUcl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_863_zlunIuRRXpni">Property and Equipment</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Property and equipment are stated at cost, less accumulated
depreciation. Depreciation is provided by the straight-line method over the estimated economic life of the property and equipment (three
<span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MinimumMember_zDD1NxkwAnKg" style="display: none" title="Estimated economic life of the property and equipment">3</span> to five <span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MaximumMember_zaT3mbVqX9ed" style="display: none" title="Estimated economic life of the property and equipment">5
</span>years). When assets are sold or retired, their costs and accumulated depreciation are eliminated from the accounts and any gain
or loss resulting from their disposal is included in the statement of operations. Leasehold improvements are expensed over the shorter
of the term of our lease or their useful lives.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock', window );">Software Development Costs</a></td>
<td class="text"><p id="xdx_843_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zIfAonS06TA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_z3wzTvenYp4f">Software Development Costs</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Software development costs incurred prior to
establishing technological feasibility are charged to operations and included in research and development costs. The technological feasibility
of a software product is established when the Company has completed all planning, designing, coding, and testing activities that are necessary
to establish that the product meets its design specifications, including functionality, features, and technical performance requirements.
Software development costs incurred after establishing technological&#160;feasibility for software sold as a perpetual license, as defined
within ASC 985-20 (Software &#8211; Costs of Software to be Sold, Leased, or Marketed) are capitalized and amortized on a product-by-product
basis when the product is available for general release to customers. Software development costs are evaluated for impairment annually by comparing the net realizable value to the unamortized
capitalization costs and writing these costs down to net realizable value.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_PatentsAndTrademarksPolicyTextBlock', window );">Patents and Trademarks</a></td>
<td class="text"><p id="xdx_848_ecustom--PatentsAndTrademarksPolicyTextBlock_z0F57Zo0O0sk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_867_ztrU0S0u2Xtk">Patents and Trademarks</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Patents and trademarks which are stated at amortized
cost, relate to the development of video surveillance security system technology and are being amortized over <span id="xdx_902_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--IndefiniteLivedIntangibleAssetsByMajorClassAxis__custom--PatentsAndTrademarksMember_zMJChkBjc8hj" title="Estimated economic life of the property and equipment">17</span> years.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_LonglivedAssetsTextBlock', window );">Long-Lived Assets</a></td>
<td class="text"><p id="xdx_84C_ecustom--LonglivedAssetsTextBlock_zqtK3pJaGOe2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86F_zvjjsMs4HA7c">Long-Lived Assets</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company evaluates the recoverability of its property,
equipment, and other long-lived assets in accordance with FASB ASC 360-10-35-15 &#8220;Impairment or Disposal of Long-Lived Assets&#8221;,
which requires recognition of impairment of long-lived assets in the event the net book values of such assets exceed the estimated future
undiscounted cash flows attributable to such assets or the business to which such intangible assets relate. This guidance requires that
long-lived assets and certain identifiable intangibles be reviewed for impairment whenever events or changes in circumstances indicate
that the carrying amount of an asset may not be recoverable. Recoverability of assets to be held and used is measured by a comparison
of the carrying amount of an asset to future undiscounted net cash flows expected to be generated by the asset. If such assets are considered
to be impaired, the impairment to be recognized is measured by the amount by which the carrying amount of the assets exceeds the fair
value of the assets. Assets to be disposed of are reported at the lower of the carrying amount or fair value less costs to sell.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies', window );">Product Warranties</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--GuaranteesIndemnificationsAndWarrantiesPolicies_zfeofnSsdzS2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_z7W5NeSi5Uqa">Product Warranties</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has a <span id="xdx_907_ecustom--ProductWarrantyPeriod_dtD_c20230101__20231231_zUkE3EHSCq86" title="Product warranty Period">90</span>-day warranty period for materials
and labor after final acceptance of a project. If any parts are defective they are replaced under our vendor warranty which is usually
<span id="xdx_90E_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zuENoH5e9ZM" title="Product warranty Period">12</span> to <span id="xdx_907_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zub7jm7QgrDl" title="Product warranty Period">36</span> months. Final acceptance terms vary by customer. Some customers have a cure period for any material deviation and if the Company
fails or is unable to correct any deviations, a full refund of all payments made by the customer will be arranged by the Company. As of
December 31, 2023 and 2022, the warranty costs have been de-minimis, therefore no accrual of warranty liability has been made.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoanCommitmentsPolicy', window );">Loan Costs</a></td>
<td class="text"><p id="xdx_848_eus-gaap--LoanCommitmentsPolicy_zJdPJN2rFaTk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86C_zV5Osec0t4Ae">Loan Costs</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Loan costs paid to lenders, or third parties are recorded
as debt discounts to the related loans and amortized to interest expense over the loan term.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SalesReturnPolicyTextBlock', window );">Sales Returns</a></td>
<td class="text"><p id="xdx_842_ecustom--SalesReturnPolicyTextBlock_zim7mza9X18j" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zp4sRIgABlwi">Sales Returns</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our systems are sold as integrated systems and there
are no sales returns allowed.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p id="xdx_84D_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zPOCJzKA4q6k" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_86E_zgCQFOQ7o79f">Revenue Recognition</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company follows Accounting Standards Codification
606, Revenue from Contracts with Customers (&#8220;ASC 606&#8221;), that affects the timing of when certain types of revenues will be
recognized. The basic principles in ASC 606 include the following: a contract with a customer creates distinct contract assets and performance
obligations, satisfaction of a performance obligation creates revenue, and a performance obligation is satisfied upon transfer of control
to a good or service to a customer.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Revenue is recognized by evaluating our revenue contracts
with customers based on the five-step model under ASC 606:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">1.</td>
    <td style="text-align: justify">Identify the contract with the customer;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">2.</td>
    <td style="text-align: justify">Identify the performance obligations in the contract;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">3.</td>
    <td style="text-align: justify">Determine the transaction price;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">4.</td>
    <td style="text-align: justify">Allocate the transaction price to separate performance obligations; and</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 24px">&#160;</td>
    <td style="width: 24px">5.</td>
    <td style="text-align: justify">Recognize revenue when (or as) each performance obligation is satisfied.</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company generates revenue from four sources: (1)
Technology Systems; (2) AI Technologies; (3) Technical Support and (4) Consulting services.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Technology Systems</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For revenues related to technology systems, the Company
recognizes revenue over time using a cost-based input methodology in which significant judgment is required to estimate costs to complete
projects. These estimated costs are then used to determine the progress towards contract completion and the corresponding amount of revenue
to recognize.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accordingly, the Company now bases its revenue recognition
on ASC 606-10-25-27, where control of a good or service transfers over time if the entity&#8217;s performance does not create an asset
with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date including a
profit margin or reasonable return on capital. Control is deemed to pass to the customer instantaneously as the goods are manufactured
and revenue is recognized accordingly.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In addition, the Company has adopted ASC 606-10-55-21
such that if the cost incurred is not proportionate to the progress in satisfying the performance obligation, we adjust the input method
to recognize revenue only to the extent of the cost incurred. Therefore, the Company will recognize revenue at an equal amount to the
cost of the goods to satisfy the performance obligation. To accurately reflect revenue recognition based on the input method, the Company
has adopted the implementation guidance as set out in ASC-606-10-55-187 through 192.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Under this method, contract revenues are recognized
over the performance period of the contract in direct proportion to the costs incurred. Costs include direct material, direct labor, subcontract
labor and other allocable indirect costs. All un-allocable indirect costs and corporate general and administrative costs are also charged
to the periods as incurred. Any recognized revenues that have not been billed to a customer are recorded as an asset in &#8220;contract
assets&#8221;. Any billings of customers more than recognized revenues are recorded as a liability in &#8220;contract liabilities&#8221;.
However, in the event a loss on a contract is foreseen, the Company will recognize the loss when such loss is determined to be both probable and reasonably estimable.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>AI Technologies</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has revenue from applications that incorporate
artificial intelligence (AI) in the form of predetermined algorithms which provide important operating information to the users of our
systems. The revenue generated from these applications of AI consists of a fixed fee related to the design, development, testing and incorporation
of new algorithms into the system, which is recognized as revenue at a point in time upon acceptance, as well as an annual application
maintenance fee, which is recognized as revenue ratably over the contracted maintenance term.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Technical Support</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Technical support services are provided on both an
as-needed and extended-term basis and may include providing both parts and labor. Maintenance and technical support provided outside of
a maintenance contract are on an &#8220;as-requested&#8221; basis, and revenue is recognized over time as the services are provided. Revenue
for maintenance and technical support provided on an extended-term basis is recognized over time ratably over the term of the contract.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Consulting Services</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company&#8217;s consulting services business generates
revenues under contracts with customers from four sources: (1) Professional Services (consulting and auditing); (2) Software licensing
with optional hardware sales; (3) Customer service training and (4) Maintenance support.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(1) Revenues for professional services,
which are of short-term duration, are recognized when services are completed;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(2) For all periods reflected in this report,
software license sales have been one-time sales of a perpetual license to use our software product and the customer also has the option
to purchase third-party manufactured handheld devices from us if they purchase our software license. Accordingly, the revenue is recognized
upon delivery of the software and delivery of the hardware, as applicable, to the customer;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(3) Training sales are one-time upfront
short-term training sessions and are recognized after the service has been performed; and</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify">(4) Maintenance/support is an optional product
sold to our software license customers under one-year contracts. Accordingly, maintenance payments received upfront are deferred and recognized
over the contract term.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock', window );">Multiple Performance Obligations and Allocation of Transaction Price</a></td>
<td class="text"><p id="xdx_847_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zZz5gFzVpcDk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span id="xdx_862_zVnP06OFRFW8">Multiple Performance Obligations and Allocation
of Transaction Price</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Arrangements with customers may involve multiple performance
obligations including project revenue and maintenance services in our Technology Systems business. Maintenance will occur after the project
is completed and may be provided on an extended-term basis or on an as-needed basis. In our consulting services business, multiple performance
obligations may include any of the above four sources. Training and maintenance on software products may occur after the software product
sale while other services may occur before or after the software product sale and may not relate to the software product. Revenue recognition
for a multiple performance obligations arrangement is as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Each performance obligation is accounted for separately
when each has value to the customer on a standalone basis and there is Company specific objective evidence of the selling price of each
deliverable. For revenue arrangements with multiple deliverables, the Company allocates the total customer arrangement to the separate
units of accounting based on their relative selling prices as determined by the price of the items when sold separately. Once the selling
price is allocated, the revenue for each performance obligation is recognized using the applicable criteria under GAAP as discussed above
for performance obligations sold in single performance obligation arrangements. A delivered item or items that do not qualify as a separate
unit of accounting within the arrangement are combined with the other applicable undelivered items within the arrangement. The allocation
of arrangement consideration and the recognition of revenue is then determined for those combined deliverables as a single unit of accounting.
The Company sells its various services and software and hardware products at established prices on a standalone basis which provides Company
specific objective evidence of selling price for purposes of performance obligations relative selling price allocation. The Company only
sells maintenance services or spare parts based on its established rates after it has completed a system integration project for a customer.
The customer is not required to purchase maintenance services. All elements in multiple performance obligations arrangements with Company
customers qualify as separate units of account for revenue recognition purposes.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising</a></td>
<td class="text"><p id="xdx_84C_eus-gaap--AdvertisingCostsPolicyTextBlock_zoIXVg8nXDrb" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zRdxLxwmpvog">Advertising</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company expenses the cost of advertising.
During the years ended December 31, 2023 and 2022, there were <span id="xdx_903_eus-gaap--AdvertisingExpense_pp0p0_do_c20230101__20231231_zAS1TJJEfKg7" title="Advertising costs"><span id="xdx_904_eus-gaap--AdvertisingExpense_pp0p0_do_c20220101__20221231_zcyTeVx4V0T1" title="Advertising costs">no</span></span> advertising costs.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock', window );">Stock Based Compensation</a></td>
<td class="text"><p id="xdx_849_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_zUZ26uXEVFmg" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"><b><span style="text-decoration: underline"><span id="xdx_86F_zZ2LrI0Vm7zj">Stock Based Compensation</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company accounts for employee and non-employee
stock-based compensation in accordance with ASC 718-10, &#8220;<i>Share-Based Payment</i>,&#8221; which requires the measurement and recognition
of compensation expense for all share-based payment awards made to employee and directors including stock options, restricted stock units,
and employee stock purchases based on estimated fair values. The stock-based compensation carries a graded vesting feature subject to the condition of time of employment service
with awarded stock-based compensation tranches vesting evenly upon the anniversary date of the award.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company estimates the fair value of stock options
granted using the Black-Scholes option-pricing formula. In accordance with ASC 718-10-35-8, the Company elected to recognize the fair
value of the stock award using the graded vesting method as time of employment service is the criteria for vesting.  The Company&#8217;s
determination of fair value using an option-pricing model is affected by the stock price as well as assumptions regarding a number of
highly subjective variables.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company estimates volatility based upon the
historical stock price of the Company and estimates the expected term for stock options using the simplified method for employees
and directors and the contractual term for non-employees. The risk-free rate is determined based upon the prevailing rate of United States
Treasury securities with similar maturities.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_849_eus-gaap--IncomeTaxPolicyTextBlock_zKFT4vOmoK1j" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zGi6iWpQ5yx">Income Taxes</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company accounts for income taxes in accordance
with the Financial Accounting Standards Board FASB Accounting Standards Codification (&#8220;ASC&#8221;) 740, Income Taxes, which requires
the recognition of deferred income taxes for differences between the basis of assets and liabilities for financial statement and income
tax purposes. The deferred tax assets and liabilities represent the future tax return consequences of those differences, which will either
be taxable or deductible when the assets and liabilities are recovered or settled. Valuation allowances are established when necessary
to reduce deferred tax assets to the amount expected to be realized.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company evaluates all significant tax positions
as required by ASC 740. As of December 31, 2023, the Company does not believe that it has taken any positions that would require the recording
of any additional tax liability, nor does it believe that there are any unrealized tax benefits that would either increase or decrease
within the next year.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Any penalties and interest assessed by income
taxing authorities are included in operating expenses.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The federal and state income tax returns of the
Company are subject to examination by the IRS and state taxing authorities, generally for three years after they were filed. Tax years
2020, 2021 and 2022 remain open for potential audit.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings (Loss) Per Share</a></td>
<td class="text"><p id="xdx_844_eus-gaap--EarningsPerSharePolicyTextBlock_zzof3cmLpjul" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_861_zpIRIonjKT7">Earnings (Loss) Per Share</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Basic earnings per share (EPS) are computed by dividing
the net loss applicable to common stock by the weighted average number of common shares outstanding. Diluted net loss per common share
is computed by dividing the net loss applicable to common stock by the weighted average number of common shares outstanding for the period
and, if dilutive, potential common shares outstanding during the period. Potential common shares consist of the incremental common shares
issuable upon the exercise or conversion of stock options, stock warrants, convertible debt instruments, convertible preferred stock or
other common stock equivalents. Potentially dilutive securities are excluded from the computation if their effect is anti-dilutive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2023, there were (i) an aggregate
of <span id="xdx_903_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zSTHbBwN048j" title="Outstanding warrants">44,644</span> outstanding warrants to purchase shares of common stock, (ii) employee stock options to purchase an aggregate of <span id="xdx_90C_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpQY2Wv5km93" title="Number of incentive stock options">1,387,775</span> shares
of common stock, (iii) <span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zuFJuLf0um82" title="Common shares issuable conversion">433,000</span> common shares issuable upon conversion of Series D Convertible Preferred Stock, (iv) <span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zv9lRPYmCOMb" title="Common shares issuable conversion">3,833,334</span> common shares
issuable upon conversion of Series E Convertible Preferred Stock, and (v) <span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zi9kjnrsrFNf" title="Common shares issuable conversion">0</span> common shares issuable upon conversion of Series F Convertible
Preferred Stock, all of which were excluded from the computation of diluted net earnings per share because their inclusion would have
been anti-dilutive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At December 31, 2022, there was an aggregate of <span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20221231_zpfA2R77oYId" title="Outstanding warrants">147,591</span>
outstanding warrants to purchase shares of common stock aggregate of <span id="xdx_906_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zj75AjQJoNli" title="Number of incentive stock options">926,266</span>
employee stock options to purchase shares of common stock, and <span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20220101__20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zGAUfZXW0TBi" title="Common shares issuable conversion">433,000</span>
common shares were issuable upon conversion of Series D Convertible Preferred Stock, all of which were excluded from the computation
of diluted net  earnings per share because their inclusion would have been anti-dilutive.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>











<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><p id="xdx_849_eus-gaap--LesseeLeasesPolicyTextBlock_zDdVkFIJg1g9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_868_zcAobCWG10M9">Leases</span></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company follows ASC 842 &#8220;Leases&#8221;.
This guidance requires lessees to recognize right-of-use (&#8220;ROU&#8221;) assets and lease liabilities for most operating leases. In
addition, this guidance requires that lessors separate lease and non-lease components in a contract in accordance with the revenue guidance
in ASC 606.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company made an accounting policy election
to not recognize short-term leases with terms of twelve months or less on the balance sheet and instead recognize the lease payments in
expense as incurred. The Company has also elected to account for real estate leases that contain both lease and non-lease components as
a single lease component.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At the inception of a contract the Company assesses
whether the contract is, or contains, a lease. The Company&#8217;s assessment is based on: (1) whether the contract involves the use of
a distinct identified asset, (2) whether we obtain the right to substantially all the economic benefit from the use of the asset throughout
the period, and (3) whether we have the right to direct the use of the asset.</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Operating ROU assets represent the right to use
the leased asset for the lease term and operating lease liabilities are recognized based on the present value of minimum lease payments
over the lease term at commencement date. As most leases do not provide an implicit rate, the Company uses an incremental borrowing rate
based on the information available at the lease commencement date to determine the present value of future payments. The lease term includes
all periods covered by renewal and termination options where the Company is reasonably certain to exercise the renewal options or not
to exercise the termination options. Operating lease expense is recognized on a straight-line basis over the lease term and is included
in general and administration expenses in the consolidated statements of operations.&#160;</p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zvJ2DrZ7RHa1" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b><span style="text-decoration: underline"><span id="xdx_862_zQEEbeDc8gPd">Recent Accounting Pronouncements</span></span></b></p>

<p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">From time to time, the FASB or other standards setting
bodies will issue new accounting pronouncements. Updates to the FASB ASC are communicated through issuance of an Accounting Standards
Update (&#8220;ASU&#8221;).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In August 2020, the FASB issued an accounting pronouncement
(ASU 2020-06) related to the measurement and disclosure requirements for convertible instruments and contracts in an entity's own equity.
The pronouncement simplifies and adds disclosure requirements for the accounting and measurement of convertible instruments and the settlement
assessment for contracts in an entity's own equity. This pronouncement is effective for fiscal years, and for interim periods within those
fiscal years, beginning after December 15, 2023. The Company early adopted this pronouncement for our fiscal year beginning January 1,
2022, and it did not have a material effect on our audited consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In May 2021, the FASB issued an accounting pronouncement
(ASU 2021-04) related to modifications or exchanges of freestanding equity-classified written call options (such as warrants) that remain
equity classified after modification or exchange. The pronouncement states that an entity should treat the modification as an exchange
of the original instrument for a new instrument, and the effect of the modification should be calculated as the difference between the
fair value of the modified instrument and the fair value of that instrument immediately before modification. An entity should then recognize
the effect of the modification on the basis of the substance of the transaction, in the same manner as if cash had been paid as consideration.
This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2021.
The pronouncement is applied prospectively to all modifications that occur after the initial date of adoption. We adopted this pronouncement
for our fiscal year beginning January 1, 2022, and it did not have a material effect on our audited consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span>In March 2022,
the FASB issued ASU No. 2022-02,&#160;<i>Financial Instruments-Credit Losses (Topic 326): Troubled Debt Restructurings and Vintage Disclosures</i>.
The guidance was issued as improvements to ASU No. 2016-13. The vintage disclosure changes require an entity to disclose
current-period gross write-offs by year of origination for financing receivables. The guidance is effective for financial statements issued
for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years. The amendments should be applied prospectively.
Early adoption of the amendments is permitted, including adoption in an interim period. The amendments will impact our disclosures but
will not otherwise impact the consolidated financial statements. During 2023, the Company adopted a policy related to Topic 326 whereby
it periodically reviews the collectability and historical write-offs, if any, to evaluate the need for any credit losses or an allowance.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">In November 2023, the FASB issued ASU 2023-07
Segment Reporting (Topic 280): <i>Improvements to Reportable Segment Disclosures</i>. ASU 2023-07 requires companies to disclose significant
segment expenses that are regularly provided to the chief operating decision maker. ASU 2023-07 is effective for annual periods beginning
on January 1, 2024 and interim periods beginning on January 1, 2025. ASU 2023-07 must be applied retrospectively to all prior periods
presented in the financial statements. The Company is evaluating the disclosure impact of ASU 2023-07; however, the standard will not
have an impact on the Company&#8217;s consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify">In December 2023, the FASB issued ASU
No. 2023-09 Income Taxes (Topic 740): <i>Improvements to Income Tax Disclosures</i>. ASU 2023-09 requires companies to disclose, on an
annual basis, specific categories in the effective tax rate reconciliation and provide additional information for reconciling items that
meet a quantitative threshold. Further, ASU 2023-09 requires companies to disclose additional information about income taxes paid. ASU
2023-09 is effective for annual periods beginning January 1, 2025 and will be applied on a prospective basis with the option to apply
the standard retrospectively. The Company is evaluating the disclosure impact of ASU 2023-09; however, the standard will not have an
impact on the Company&#8217;s consolidated financial statements.&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p>

<p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0">Management does not believe that any other recently issued, but not
yet effective accounting pronouncements, if adopted, would have a material effect on the accompanying financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>













<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_LonglivedAssetsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_LonglivedAssetsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_NatureOfOperationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_NatureOfOperationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_PatentsAndTrademarksPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_PatentsAndTrademarksPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SalesReturnPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SalesReturnPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for guarantees, indemnifications and product warranties, and methodologies used in determining the amount of such liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//460/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoanCommitmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for loan commitments accounted for as derivatives, including the methods and assumptions used to estimate fair value and any associated hedging strategies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.DD)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479601/815-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 815<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479601/815-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoanCommitmentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its research and development and computer software activities including the accounting treatment for costs incurred for (1) research and development activities, (2) development of computer software for internal use, (3) computer software to be sold, leased or otherwise marketed as a separate product or as part of a product or process and (4) in-process research and development acquired in a purchase business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 4<br> -SubTopic 50<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482610/350-50-25-4<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1<br> -SubTopic 40<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482633/350-40-30-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037896828224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of accounts receivable</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_88E_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zdqyjlGCJyLh" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B6_ztNI79kOhA9d" style="display: none">Schedule of accounts receivable</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_492_20231231_zdic5sssGdH9" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_498_20221231_zsCfFJTWt6R3" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--AccountsReceivableGross_iI_pp0p0_maARNzo6Q_zobWWKnxuC68" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Accounts receivable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">1,462,463</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,418,263</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AllowanceForDoubtfulAccountsReceivable_iNI_pp0p0_msARNzo6Q_zFZuDqiFF5Ma" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Allowance for doubtful accounts</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0982">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0983">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AccountsReceivableNet_iTI_pp0p0_mtARNzo6Q_zDGRiafeo9p8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Accounts Receivable, Net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,462,463</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,418,263</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3,4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900092880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY AND EQUIPMENT (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of property and equipment</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_895_eus-gaap--PropertyPlantAndEquipmentTextBlock_zSroC8Pw23o4" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)">
  <tr style="vertical-align: bottom">
    <td id="xdx_8BE_zw7kD5yJAAi3" style="font-weight: bold; text-align: left"><b style="display: none">Schedule of property and equipment</b></td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_z3DJmEd3N4Ya" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_49C_20221231_zD6lYj3gdk9f" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Furniture &amp; Fixtures</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_z4ywLAYtTIVi" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross">132,018</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_zZZMHpEJExLg" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross">115,238</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Tools and Equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4akS7XLUDvc" style="text-align: right" title="Property, Plant and Equipment, Gross">1,291,673</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4oJQIifsfef" style="text-align: right" title="Property, Plant and Equipment, Gross">1,162,568</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Leasehold Improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zZwDqXFXjwM6" style="text-align: right" title="Property, Plant and Equipment, Gross">298,004</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zivNWbK0FHh2" style="text-align: right" title="Property, Plant and Equipment, Gross">228,404</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Internal Use Software</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zwew147WUeJd" style="border-bottom: Black 1pt solid; text-align: right" title="Property, Plant and Equipment, Gross">381,441</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBj0MIOBu9ee" style="border-bottom: Black 1pt solid; text-align: right" title="Property, Plant and Equipment, Gross">100,241</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_zzA8q4sHRage" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="color: rgb(204,238,255); font-weight: bold">Property, Plant and Equipment, Gross</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,103,136</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,606,451</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_zwF5bTlvIKm9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated Depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,376,629</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(976,961</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_zgmn9NhVZGoc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt">Property, Equipment and Software, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">726,507</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;$</td><td style="border-bottom: Black 2.5pt double; text-align: right">629,490</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>Internal Use Software consisted of the following:</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center"></td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center"></td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%">Internal Use Software</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zJQO5zbMxIg2" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross">381,441</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zHlPraGCr9k6" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross">100,241</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated depreciation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zcMsWUUtSDR1" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation">(133,149</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zk6RSz7KRO3k" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation">(57,032</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Internal Use Software, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td id="xdx_98E_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zW2Kt6c44Qoj" style="border-bottom: Black 2.5pt double; text-align: right" title="Property, Equipment and Software, net">248,292</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBW4nQ9nrSad" style="border-bottom: Black 2.5pt double; text-align: right" title="Property, Equipment and Software, net">43,209</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="text-align: left; width: 1%">&#160;</td><td style="text-align: right; width: 14%">&#160;</td><td style="text-align: left; width: 1%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="text-align: left; width: 1%">&#160;</td><td style="text-align: right; width: 14%">&#160;</td><td style="text-align: left; width: 1%">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: left">Depreciation Expense:</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property and equipment, excluding internal use software</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98A_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zpm4CM9nJSj6" style="text-align: right" title="Depreciation Expense">315,686</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_987_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z0jR055Lv5G4" style="text-align: right" title="Depreciation Expense">262,895</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Software amortization expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z8WBzqpgLCa7" style="text-align: right" title="Depreciation Expense">84,328</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z1fNkL9oFBz" style="text-align: right" title="Depreciation Expense">57,033</td><td style="text-align: left">&#160;</td></tr>
</table>

<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentOtherTypesMember', window );">Property, Plant and Equipment, Other Types [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of estimated future depreciation expense of software</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z2pV4Ah2fEp1" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_8B0_z40gVXtuwdx7" style="display: none; vertical-align: bottom; text-align: left">Schedule of estimated future depreciation expense of software</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 1%; text-align: left">&#160;</td><td style="vertical-align: bottom; width: 48%; text-align: left">2024</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zedjRnf0dtq6" style="width: 47%; text-align: right" title="2024">100,952</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td style="vertical-align: bottom; text-align: left">2025</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z16I3ZHIbOMa" style="text-align: right" title="2025">103,716</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">2026</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zgKAqTaIRNcc" style="border-bottom: Black 1pt solid; text-align: right" title="2026">43,624</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zH4clpDAjkc4" style="border-bottom: Black 2.5pt double; text-align: right" title="Finite lived intangible assets">248,292</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"></p>


<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentOtherTypesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentOtherTypesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037995369760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PATENTS AND TRADEMARKS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of patents and trademarks</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock_zn7ezxQUCCf5" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)">
  <tr style="vertical-align: bottom; background-color: White">
    <td id="xdx_8B3_z2gEk0MrYd8d" style="display: none">Schedule of patents and trademarks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49B_20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zmwCSmBzCn31" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_491_20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zMINAN9bOct1" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_maIANEGzIFT_zXINrs0VlYp5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%">Patents</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right">395,472</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right">326,145</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pp0p0_di_msIANEGzIFT_z4BaMquRan94" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated Amortization</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(266,332</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(256,412</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pp0p0_mtIANEGzIFT_zQ66DuvjA993" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt">Patent, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">129,140</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">69,733</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance and exist in perpetuity, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b),(d)<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900178624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SOFTWARE DEVELOPMENT COSTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock', window );">Schedule of software development costs</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock_ziuVO20nVdF7" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)">
<tr style="vertical-align: bottom; background-color: White">
    <td id="xdx_8BF_zZGRGI5djF2e" style="display: none">Schedule of software development costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_493_20231231_zrWelByldRL9" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20221231_zCkI2LTPpWE5" style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">December 31,</span></td><td style="font-size: 8pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2023</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td><td style="font-weight: bold; padding-bottom: 1pt"><span style="font-size: 8pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">2022</span></td><td style="padding-bottom: 1pt; font-weight: bold"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_407_eus-gaap--CapitalizedComputerSoftwareGross_iI_pp0p0_zw0OuzHYmLf8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Software Development</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right">721,309</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$&#160;</td><td style="width: 14%; text-align: right">341,784</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ConstructionInProgress_iI_pp0p0_zatTC9720yQ" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Construction in Progress</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">148,371</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1080">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CapitalizedComputerSoftwareAccumulatedAmortization_iNI_di_zC1j9oH8QMkg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated amortization</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(216,842</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(76,576</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--SoftwareDevelopmentCostsNet_iI_pp0p0_zvVcvoDBXzwc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Software Development, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">652,838</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">265,208</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember', window );">Software and Software Development Costs [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of estimated future amortization expense of software</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_89F_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z2qOiPb7xvaj" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_8BF_z49rJ9V6EP9c" style="display: none; vertical-align: bottom; text-align: left">Schedule of estimated future amortization expense of software</td><td style="vertical-align: bottom; text-align: left">&#160;</td><td style="text-align: left; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td style="vertical-align: bottom; text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 1%; text-align: left">&#160;</td><td style="vertical-align: bottom; width: 48%; text-align: left">2024</td><td style="vertical-align: bottom; width: 1%; text-align: left">&#160;</td><td style="text-align: left; width: 1%; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z4xyrxPoj3Ef" style="vertical-align: bottom; width: 47%; text-align: right" title="2024">269,893</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td style="vertical-align: bottom; text-align: left">2025</td><td style="vertical-align: bottom; text-align: left">&#160;</td><td style="text-align: left; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zKI1UuruBxfe" style="vertical-align: bottom; text-align: right" title="2025">252,341</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">2026</td><td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: left; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zJokw9JyB1ai" style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: right" title="2026">130,604</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zgBqB9USMiec" style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: right" title="Finite lived intangible assets">652,838</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900954656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtTableTextBlock', window );">Schedule of notes payable</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfDebtTableTextBlock_zK75x1pxQGld" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - DEBT (Details - Notes payable - financing agreements)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B2_z2Cmk1QBcTj4" style="display: none">Schedule of notes payable</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31, 2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: justify">Notes Payable</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Principal</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Principal</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Third Party - Insurance Note 1</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z2HQnybEi9i9" style="text-align: right" title="Notes payable, Principal"><span style="-sec-ix-hidden: xdx2ixbrl1110">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zNffnZZEcDdl" style="text-align: right" title="Notes payable, Principal"><span style="-sec-ix-hidden: xdx2ixbrl1112">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 48%; text-align: justify">Third Party - Insurance Note 2</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zd0M1vI97Tqe" style="width: 10%; text-align: right" title="Notes payable, Principal">39,968</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_90F_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zflu7comBI0f" title="Notes payable, Interest">8.00</span></td><td style="width: 1%; text-align: left">%</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zsziLDy1zaTi" style="width: 10%; text-align: right" title="Notes payable, Principal">17,753</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_90B_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zT4AYWui57p9" title="Notes payable, Interest">6.24</span></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Third Party - Insurance Note 3</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zEDbXSwhk6e6" style="text-align: right" title="Notes payable, Principal">2,008</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zfaP1dJx2aG4" style="text-align: right" title="Notes payable, Principal">16,094</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Third Party - Insurance Note 4</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zlkXBNge3jr1" style="border-bottom: Black 1pt solid; text-align: right" title="Notes payable, Principal"><span style="-sec-ix-hidden: xdx2ixbrl1126">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pdp0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_z3KcW8Bag2R" style="border-bottom: Black 1pt solid; text-align: right" title="Notes payable, Principal">40,728</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zfrGcNlm9u81" style="border-bottom: Black 2.5pt double; text-align: right" title="Notes payable, Principal">41,976</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231_z8eZ9Nov4mp9" style="border-bottom: Black 2.5pt double; text-align: right" title="Notes payable, Principal">74,575</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037898766784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUES AND CONTRACT ACCOUNTING (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock', window );">Schedule of contract assets on uncompleted contracts</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zCWVLmPjrHyf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B9_zxA0iUEH8wyj" style="display: none">Schedule of contract assets on
uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49A_20231231_zFJoYhD2rJAi" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_497_20221231_zppB3Dy1UIbi" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_ecustom--CostsAndEstimatedEarningsRecognized_iI_pp0p0_maCWCANzFM7_zcO6mxsK0DDc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: left">Cumulative revenues recognized</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,820,256</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">5,934,205</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zN7MhJYySqZj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: Billings or cash received</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(8,178,309</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,508,483</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zgWCRX6xK4jl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Contract Assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">641,947</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">425,722</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock', window );">Schedule of contract liabilities on uncompleted contracts</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_881_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zMZrx8BUjt7" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B0_zrDv0aiCAByi" style="display: none">Schedule of contract liabilities
on uncompleted contracts</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zOrdde0up58j" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_492_20221231_zUuQvqCBZlA9" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_pp0p0_maCLTSzBbu_zOzcMc8cWjIb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 66%; text-align: left">Billings and/or cash receipts on uncompleted contracts</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">1,264,658</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">4,355,470</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--CostAndEstimatedEarningsRecognized_iNI_pp0p0_di_msCLTSzBbu_zLR3bAINzcPi" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">Less: Cumulative revenues</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(199,976</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(4,144,018</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_407_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_pp0p0_mtCLTSzBbu_maCWCLzYC9_zN5NJd39qYKd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">Contract liabilities, technology systems</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">1,064,682</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">211,452</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--ContractLiabilitiesServicesAndConsulting_iI_pp0p0_maCWCLzYC9_zlwyzuHnRoC9" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt">Contract Liabilities, services and consulting</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">601,561</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">746,545</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iTI_pp0p0_mtCWCLzYC9_zBFzK79eYxpi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt"><span style="font-size: 10pt">Total
    Contract Liabilities</span></td><td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">$</span></td><td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right"><span style="font-size: 10pt">1,666,243</span></td><td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"><span style="font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-size: 10pt">$</span></td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-size: 10pt">957,997</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"><span style="font-size: 10pt">&#160;</span></td></tr>
  </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of disaggregation of revenue</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_89A_eus-gaap--DisaggregationOfRevenueTableTextBlock_ziFFTofefqv7" style="font: 9pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)">
  <tr style="vertical-align: bottom">
    <td style="font-size: 8pt; font-weight: bold"><span id="xdx_8BD_zI6RQhfhhBKh" style="display: none">Schedule of disaggregation of revenue</span></td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="3" style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td style="font-size: 8pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold">Segments</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Rail</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Commercial</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Government</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Artificial <br/> Intelligence</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">Primary Geographical Markets</td><td style="padding-bottom: 1pt; font-size: 10pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 28%; text-align: left; padding-bottom: 2.5pt">North America</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z8eGaxFxT7X2" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue">6,261,748</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z91BwFgel23h" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue">78,575</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zzUYC4RqLLY6" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue">11,353</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z1H88gnO8qua" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue">1,119,522</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlYzaT1cVKG7" style="border-bottom: Black 2.5pt double; text-align: right; width: 12%" title="Revenue">$7,471,198</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">Major Goods and Service Lines</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Turnkey Projects</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zp6uTmgsN8E6" style="text-align: right" title="Revenue">3,616,334</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ2xI4G66YEl" style="text-align: right" title="Revenue">1,694</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zvdw35phcVD1" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1252">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">&#8212;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zd1PRS1N0avh" style="text-align: right" title="Revenue">$3,618,028</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Maintenance &amp; Support</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zRx9cWgpX3l9" style="text-align: right" title="Revenue">2,645,414</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjdhQrRi7mh6" style="text-align: right" title="Revenue">76,881</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zv4DTXUGxTGb" style="text-align: right" title="Revenue">11,353</td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuU50dX9mffk" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1262">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zKVaf5AtA0z9" style="text-align: right" title="Revenue">2,733,648</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Data Center Auditing Services</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6FIsWC83GSk" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1266">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z06Rv7Cb0dU" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1268">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zavmG6DFeEq5" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1270">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z9wEDGYxpun2" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1272">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zPSgswb0V5Ah" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1274">&#8212;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Software License</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zFAoHSHmmfta" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1276">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwtSenQemXTc" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1278">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zb6JwTGkSIfi" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1280">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zb29oL5tghP1" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1282">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zllGOPUDsDGd" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1284">&#8212;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Algorithms</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zLvGB85ZDZt5" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1286">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zm6wtEWpyNg" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1288">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z72lj2ESADJc" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1290">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zxjLUKdBuai9" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,119,522</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_z544OBmKZnA2" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,119,522</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zuzcy4hlYpqd" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">6,261,748</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwK0YZ2dZmae" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">78,575</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zgOQ0cigfMl7" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">11,353</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCCQ5ARfaV89" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">1,119,522</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zLESjJqPnxBk" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">$7,471,198</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td style="font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; text-align: right">&#160;</td><td style="font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">Timing of Revenue Recognition</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="font-size: 10pt; padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Goods transferred over time</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zDZQXlIAwUOa" style="text-align: right" title="Revenue">3,616,334</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zq5rYNodKeTg" style="text-align: right" title="Revenue">1,694</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zrIWxpwwpeH9" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1310">&#8212;</span></td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zZohML7rQRmb" style="text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1312">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zyJLH8Y4sKCe" style="text-align: right" title="Revenue">$3,218,028</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Services transferred over time</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zWoSClXHHuPa" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">2,645,414</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zLF3Xkq19Fbl" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">76,881</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZeZwI5I8qsk" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">11,353</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zars4ZS1uYfb" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,119,522</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zFlO71fbQvxd" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">3,853,170</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zcaSCOydbRNh" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">6,261,748</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zopd6C2SABo" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">78,575</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zSVPjkb156be" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">11,353</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zW2CHJpbCPec" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">1,119,522</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zeAn8B8l4ZUi" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">$7,471,198</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0">&#160;</p>











<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Quantitative: </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b><span style="text-decoration: underline">For the Year Ended December 31, 2022</span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold">Segments</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Rail</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Commercial</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Government</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Artificial <br/> Intelligence</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold">Primary Geographical Markets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 45%; font-size: 9pt; text-align: left; padding-bottom: 2.5pt">North America</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">13,710,777</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">115,443</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">237,414</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">948,732</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue">15,012,366</td><td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left">Major Goods and Service Lines</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; text-align: left">Turnkey Projects</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue">10,789,693</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue">9,297</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue">156,530</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXfHXZuRr6og" style="font-size: 9pt; text-align: right" title="Revenue">234,772</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue">11,190,292</td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 9pt; text-align: left">Maintenance &amp; Support</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zHKXeww9buMe" style="font-size: 9pt; text-align: right" title="Revenue">2,921,084</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zIm1a8hF0Tqg" style="font-size: 9pt; text-align: right" title="Revenue">106,146</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zTquzdRAFr5l" style="font-size: 9pt; text-align: right" title="Revenue">80,884</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zRyweNrqam8i" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1365">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zObWuoB33Oqg" style="font-size: 9pt; text-align: right" title="Revenue">3,108,114</td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; text-align: left">Data Center Auditing Services</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhpEX70VNsV8" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1369">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zAVAwmkcGh85" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1371">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkCa1g4l8W28" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1373">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zNrTqg2A7x1a" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1375">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zYUcizWw8wRb" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1377">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 9pt; text-align: left">Software License</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zwqCPQtsunck" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1379">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_ztRr9nSBR4Y3" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1381">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zWkK23Hule7" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1383">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z0qZ039p7ALl" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1385">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zYJYPrPGBpOe" style="font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1387">&#8212;</span></td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; padding-bottom: 1pt">Algorithms</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zG4qv3li40I4" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1389">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zBnt73xaTj1f" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1391">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z8Be3e3MTW7c" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"><span style="-sec-ix-hidden: xdx2ixbrl1393">&#8212;</span></td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCQNC7ca4Cnl" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">713,960</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zWfBsPPVb7g7" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">713,960</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6jwa1L5JCPc" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">13,710,777</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z7J57O39olgd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">115,443</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z7kFNLAmCDca" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">237,414</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXGLp6GbLlcd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">948,732</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zxxB0Uh6dx9h" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">15,012,366</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left">Timing of Revenue Recognition</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 9pt; text-align: left">Goods transferred over time</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zRNPxYCcG1p9" style="font-size: 9pt; text-align: right" title="Revenue">10,789,693</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zaXBzwca6J6d" style="font-size: 9pt; text-align: right" title="Revenue">9,297</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zbKDsbkJRgc" style="font-size: 9pt; text-align: right" title="Revenue">156,530</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zcaemS5Cl6C5" style="font-size: 9pt; text-align: right" title="Revenue">234,772</td><td style="font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt">&#160;</td>
    <td style="font-size: 9pt; text-align: left">$</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zEX2ebYw9KTd" style="font-size: 9pt; text-align: right" title="Revenue">11,190,292</td><td style="font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 9pt; text-align: left; padding-bottom: 1pt">Services transferred over time</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zYunqanIKlzf" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">2,921,084</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zkcQa4rAXg7d" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">106,146</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zjgNftwoujja" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">80,884</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z12sEJE9AhTl" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">713,960</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z337k7WlFV33" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue">3,822,074</td><td style="padding-bottom: 1pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zX6GkVc485kk" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">13,710,777</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zCmXvahtKXZ" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">115,443</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zpjoP6RJUNV6" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">237,414</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zAryIO8vAcF5" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">948,732</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td><td style="font-size: 9pt; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zus71Y4MNntl" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue">15,012,366</td><td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900011328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock', window );">Schedule of supplemental information related to leases</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_888_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zPTRuYVqbskf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BF_zZM8IBzvMOXi" style="display: none">Schedule of supplemental information
related to leases</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Lease cost:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; text-align: left">Operating lease cost</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20231231_zttE5rElI3gj" style="width: 14%; text-align: right" title="Operating lease cost">781,638</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--OperatingLeaseCost_pp0p0_c20220101__20221231_zYcMJF3F67ui" style="width: 14%; text-align: right" title="Operating lease cost">782,591</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Short-term lease cost</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98B_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20231231_zIGK8NYbqlQ2" style="text-align: right" title="Short term lease Cost">63,770</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98C_eus-gaap--ShortTermLeaseCost_pp0p0_c20220101__20221231_zdG5CM5dO6r9" style="text-align: right" title="Short term lease Cost">33,751</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Other information:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating cash outflow used for operating leases</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98F_eus-gaap--PaymentsForRent_pp0p0_c20230101__20231231_z3e6q6ia2MKl" style="text-align: right" title="Operating cash outflow used for operating leases">696,869</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98C_eus-gaap--PaymentsForRent_pp0p0_c20220101__20221231_z6j84f2y89w8" style="text-align: right" title="Operating cash outflow used for operating leases">416,250</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average discount rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90E_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20231231_zjA2gpJoLtUc" title="Weighted average discount rate">9.0</span></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90D_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20221231_zrrVE3JWf7a2" title="Weighted average discount rate">9.0</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average remaining lease term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_900_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmiiPs8NjkPi" title="Weighted average remaining lease term">8.5</span> years</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20221231_zJXSvKVn5oNh" title="Weighted average remaining lease term">9.5</span> years</td><td style="text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of future minimum lease payments due under the operating lease</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_88C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z26yXkVAW5fe" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B4_zrrSb1KCUQ19" style="display: none">Schedule of future minimum lease payments
due under the operating lease</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49A_20231231_zx2tVVMOlc1d" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>Amount</b></p></td><td style="padding-bottom: 1pt; font-size: 8pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><b>Calendar year:</b></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zMZ32FZKRPlk" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; width: 83%; text-align: justify">2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">779,087</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_z33tvQ0mDoCe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: justify">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">798,556</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zynaiJekHxF8" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; text-align: justify">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">818,518</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_zFe7Ld6cMU78" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 10pt; text-align: justify">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">838,984</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFive_iI_pp0p0_maCz6be_zc4EcXY4mLB" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 10pt; text-align: justify">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">859,856</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_pp0p0_maCz6be_zp2e0xf102Wi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;&#160;&#160;Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,183,571</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zpQYnYD8AcOd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;&#160;&#160;&#160;&#160;&#160;Total undiscounted future minimum lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,278,572</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyImIvrKEkV8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Less: Impact of discounting</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,270,767</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingLeaseLiability_iI_zRWrXiCH7ZQh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Total present value of operating lease obligation </td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,007,805</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_zUJ59PyPwQge" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;&#160;&#160;&#160;&#160;&#160;Current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(779,087</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_z2pGR4mT1wfd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt">Operating lease obligation, less current portion</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,228,718</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037899924880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of difference between income taxes at effective statutory rate and provision for income taxes</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZwHnnqY4xU8" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - INCOME TAXES (Details - Provision for income taxes)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B4_zFkXwdgPYCVc" style="display: none">Schedule of difference between income
taxes at  effective statutory rate and  provision for income taxes</span></td><td>&#160;</td>
    <td colspan="2" id="xdx_49C_20230101__20231231_zj1FkYCjXtrl" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_494_20220101__20221231_zM8DrZ6jdDih" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_maCzjeV_zJiD87SdCthk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 66%; text-align: justify">Income tax benefit at U.S. statutory rate of 21%</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">(2,360,761</td><td style="width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">(1,441,624</td><td style="width: 1%; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_maCzjeV_z13PvtmEz2B3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">State income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(404,702</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(247,135</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_maCzjeV_z9guChhoHYej" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Non-deductible expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">271,648</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">201,521</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_maCzjeV_zz87sGiICK24" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Change in valuation allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,493,815</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,487,238</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iT_mtCzjeV_zNozKFlsQqLa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Total provision for income tax</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1529">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1530">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of net deferred tax assets</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zd6TonhaaVKb" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - INCOME TAXES (Details - Deferred tax assets)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B6_zl7pA79Nm9mg" style="display: none">Schedule of net deferred tax assets</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; text-align: justify">Deferred Tax Asset (Liability):</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; text-align: justify">Net operating loss carryforward</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20231231_zERrVhggest4" style="width: 14%; text-align: right" title="Net operating loss carryforward">12,318,836</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20221231_zQMWA48Wdhk8" style="width: 14%; text-align: right" title="Net operating loss carryforward">9,772,854</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Intangible assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20231231_zvm9kSBVsZ28" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets">(84,823</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20221231_zxei88MrzmDa" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets">(32,656</td><td style="padding-bottom: 1pt; text-align: left">)&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20231231_zSSrgnsW5p7d" style="text-align: right" title="Gross deferred tax assets">12,234,013</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20221231_zFbl8eJh0Pcf" style="text-align: right" title="Gross deferred tax assets">9,740,198</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Valuation allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231_zD7ZDMW251e" style="border-bottom: Black 1pt solid; text-align: right" title="Valuation allowance">(12,234,013</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231_z65yKg7UBjr6" style="border-bottom: Black 1pt solid; text-align: right" title="Valuation allowance">(9,740,198</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt">Net deferred tax assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_pdp0_c20231231_ztAYVSxaGSBg" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets"><span style="-sec-ix-hidden: xdx2ixbrl1550">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsNet_pdp0_c20221231_zzrXAbTzwIig" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets"><span style="-sec-ix-hidden: xdx2ixbrl1552">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037898766784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMON STOCK OPTIONS AND WARRANTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of options activity</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zwN3W4My0nSc" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B0_zJYezsyfR1oc" style="display: none">Schedule of options activity</span>&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Weighted</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Weighted</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Average</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Average</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Remaining</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Aggregate</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Exercise</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Contractual</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center"><span style="font-size: 8pt"><b>Intrinsic</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Shares</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Price</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Term (Years)</b></span></td>
    <td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-size: 8pt"><b>Value</b></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 44%; text-align: justify">Outstanding at December 31, 2021</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTfbtaKxVCci" style="width: 11%; text-align: right; line-height: 106%" title="Shares outstanding at beginning"><span style="line-height: 106%">431,266</span></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmPPGJ4lJfu7" style="width: 11%; text-align: right" title="Weighted average exercise price outstanding at beginning">4.98</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 11%; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRvR6tCckBXg" title="Weighted average remaining contractual term (years) outstanding">3.4</span></td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;</td>
    <td style="width: 1%; text-align: justify">&#160;$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z2LKXtu4Txm" style="width: 11%; text-align: right" title="Aggregate intrinsic value outstanding at beginning">197,506</td>
    <td style="width: 1%; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Granted</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z0w0n9RwQnT4" style="text-align: right; line-height: 106%" title="Shares, granted"><span style="line-height: 106%">685,000</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zbIkw5dc5gx9" style="text-align: right; line-height: 106%" title="Weighted average exercise price, granted"><span style="line-height: 106%">6.41</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right; line-height: 106%"><span style="line-height: 106%"><span id="xdx_909_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNyzMeQ0JQlh" title="Weighted average remaining contractual term (years), granted">4.0</span></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Forfeited</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: justify">&#160;</td>
    <td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOOlPJ1ajV6i" style="border-bottom: Black 1pt solid; text-align: right" title="Shares, forfeited">(190,000</td>
    <td style="text-align: justify">)</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZiSUJAJxXUj" style="text-align: right" title="Weighted average exercise price, forfeited">6.41</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Outstanding at December 31, 2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrwFgqYaNp74" style="border-bottom: black 2.25pt double; text-align: right; line-height: 106%" title="Shares outstanding at end"><span style="line-height: 106%">926,266</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSHnI68d2iw3" style="text-align: right; line-height: 106%" title="Weighted average exercise price outstanding at end"><span style="line-height: 106%">5.74</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOJxnkysXrlk" title="Weighted average remaining contractual term (years) outstanding">3.3</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrURwmBZwC0d" style="text-align: right; line-height: 106%" title="Aggregate intrinsic value outstanding at end"><span style="line-height: 106%"><span style="-sec-ix-hidden: xdx2ixbrl1974">&#8212;</span></span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Exercisable at December 31, 2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAKZvcscc7le" style="border-bottom: black 2.25pt double; text-align: right" title="Shares, exercisable">404,599</td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zcWVEtMqHpqf" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price, exercisable">5.02</td>
    <td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right; line-height: 106%"><span style="line-height: 106%"><span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6iOGi5qxk9" title="Weighted average remaining contractual term (years) exercisable">3.3</span></span></td>
    <td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd7hFGG3t8g6" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value exercisable"><span style="-sec-ix-hidden: xdx2ixbrl1982">&#8212;</span></td>
    <td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Outstanding at December 31, 2022</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoElHYuLr7N4" style="text-align: right; line-height: 106%" title="Shares outstanding at beginning"><span style="line-height: 106%">926,266</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zv2Y4RcqmZR9" style="text-align: right; line-height: 106%" title="Weighted average exercise price outstanding at beginning"><span style="line-height: 106%">5.74</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right; line-height: 106%"><span style="line-height: 106%"><span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zb2AYLBlA0wa" title="Weighted average remaining contractual term (years) outstanding">3.3</span></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXbiN4RC05F6" style="text-align: right" title="Aggregate intrinsic value outstanding at beginning"><span style="-sec-ix-hidden: xdx2ixbrl1990">&#8212;</span></td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Granted</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zLzohRUS0WCl" style="text-align: right" title="Shares, granted">463,117</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgb4vZjXHdYk" style="text-align: right" title="Weighted average exercise price, granted">4.22</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right"><span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmgQ05cAoVV1" title="Weighted average remaining contractual term (years), granted">4.35</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Exercised/Forfeited</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z6OGsV1kKqd9" style="text-align: right" title="Shares, exercised/forfeited">(1,608</td>
    <td style="text-align: justify">)</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z8AZRaotLy89" style="text-align: right" title="Weighted average exercise price, exercised/forfeited">14.00</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: right">&#8212;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Outstanding at December 31, 2023</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTvCX0Gc70l" style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: right" title="Shares outstanding at end">1,387,775</td>
    <td style="border-top: white 1pt solid; border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVhYXNj7UIo6" style="border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price outstanding at end">5.23</td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: right"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgC26Tluhwhb" title="Weighted average remaining contractual term (years) outstanding">3.0</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6mNdDXqd88" style="border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"><span style="-sec-ix-hidden: xdx2ixbrl2008">&#8212;</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Exercisable at December 31, 2023</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z9F3TwdN80Jg" style="border-bottom: black 2.25pt double; text-align: right" title="Shares, exercisable">581,324</td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">$</td>
    <td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zqWzhYUFrup3" style="border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price, exercisable">5.38</td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: right"><span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrc6JJMfTNE6" title="Weighted average remaining contractual term (years) exercisable">1.8</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: black 2.25pt double; text-align: justify">&#160;</td>
    <td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zyK363aAbl68" style="border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value exercisable"><span style="-sec-ix-hidden: xdx2ixbrl2016">&#8212;</span></td>
    <td style="border-bottom: white 2.25pt double; text-align: justify">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of weighted- average assumptions</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_883_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zArARYAEdFn2" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8B5_zf50c5AuorL8" style="display: none">Schedule of weighted- average assumptions</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">For the Years Ended<br/> December 31,</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Risk free interest rate</td><td></td>
    <td style="text-align: center"></td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfQIjymb0d91" title="Risk free interest rate"></span>  <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7VtVQCVXL0i" title="Risk free interest rate">3.73</span>%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zB5aGaMyhr2j" title="Risk free interest rate">0.97%</span> &#8211; <span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z72CCp0HlrU9" title="Risk free interest rate">3.15</span>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 66%; text-align: justify">Expected term in years</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: center">&#160;</td><td style="width: 14%; text-align: center"><span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z27pu6zDTDtj" title="Expected term in years">3.50</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: center">&#160;</td><td style="width: 14%; text-align: center"><span style="line-height: 105%"><span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7ca4ibQiTle" title="Expected term in years">3.25</span> &#8211; <span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPgMXGYdzGj" title="Expected term in years">3.50</span></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Dividend yield</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zaNcpF9zvqFj" title="Dividend yield"><span style="-sec-ix-hidden: xdx2ixbrl2034">&#8212;</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJLNiGFzi3Jk" title="Dividend yield"><span style="-sec-ix-hidden: xdx2ixbrl2036">&#8212;</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Volatility of common stock</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeL5eaUEDvgf" title="Volatility of common stock">54%</span>
                                              &#8211;<span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIImQQlq3Q98" title="Volatility of common stock">118</span>%</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span style="line-height: 105%"><span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYY3QqUoFyib" title="Volatility of common stock">72% </span>
                                              &#8211; <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zwQDQE0ZhEIg" title="Volatility of common stock">80</span>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Weighted average grant date fair value per option</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center"><span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPmNmd9o6A3" title="Weighted average grant date fair value per option">$1.57</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">$<span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zio6m7Uz5Zt3" title="Weighted average grant date fair value per option">2.33&#160;</span></td><td style="text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock', window );">Schedule of warrants outstanding</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zrDJOfIE3kf9" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)">
  <tr style="vertical-align: bottom">
    <td><span id="xdx_8BA_zqhVsRlA3Ke6" style="display: none">Schedule of warrants outstanding</span></td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Weighted</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Weighted</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Average</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Average</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Remaining</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Aggregate</td><td style="font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Number of</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Exercise</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Contractual</td><td style="font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center">Intrinsic</td><td style="font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Warrants</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Price</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Term (Years)</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td><td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center">Value</td><td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%">Outstanding at December 31, 2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z0w7IJh2Z1Ta" style="width: 10%; text-align: right" title="Number of warrants outstanding at beginning">1,376,466</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zyWhQtdYV6ff" style="width: 10%; text-align: right" title="Weighted average exercise price outstanding at beginning">8.18</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><span id="xdx_907_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgvQhpBoilL6" title="Weighted average remaining contractual term (years)">1.9</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zz1PNRbJfCb4" style="width: 10%; text-align: right" title="Aggregate intrinsic value outstanding at beginning"><span style="-sec-ix-hidden: xdx2ixbrl2068">&#8212;</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGBnjOMy9kOj" style="text-align: right" title="Warrants expired, forfeited, cancelled or exercised">(1,228,875</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$&#160;</td><td id="xdx_98D_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zrxsoQXCuxK1" style="text-align: right" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised"><span style="-sec-ix-hidden: xdx2ixbrl2072">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Warrants issued</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ConversionOfStockSharesIssued1_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE5GxMtNTOak" style="border-bottom: Black 1pt solid; text-align: right" title="Warrants issued"><span style="-sec-ix-hidden: xdx2ixbrl2074">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_988_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zooOWGpf031g" style="text-align: right" title="Weighted average exercise price, warrants issued"><span style="-sec-ix-hidden: xdx2ixbrl2076">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zPLHttcTUO4l" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants outstanding at end">80,091</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJq6xNuAjY5" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price outstanding at end">8.63</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_900_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zLageLx4pVbe" title="Weighted average remaining contractual term (years)">0.98</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztYCmgq5Rdk8" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"><span style="-sec-ix-hidden: xdx2ixbrl2084">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Exercisable at December 31, 2022</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE1yezitepmb" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants, exercisable">80,091</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuxCYHqR0Lpl" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price, exercisable">8.63</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1VhWjaJAswb" title="Weighted average remaining contractual term (years), exercisable">0.8</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztw17ZNw1ZN5" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value, exercisable"><span style="-sec-ix-hidden: xdx2ixbrl2092">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Outstanding at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zoD9mxQQG092" style="text-align: right" title="Number of warrants outstanding at beginning">80,091</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98C_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zdP7bab84vKj" style="text-align: right" title="Weighted average exercise price outstanding at beginning">8.63</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZDEU4SQOHQ1" title="Weighted average remaining contractual term (years), exercisable">0.8</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zX88U59TjoM3" style="text-align: right" title="Aggregate intrinsic value outstanding at beginning"><span style="-sec-ix-hidden: xdx2ixbrl2100">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Warrants expired, forfeited, cancelled or exercised</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zi6U7g1KdNQg" style="text-align: right" title="Warrants expired, forfeited, cancelled or exercised">(102,947</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbbGTlG2NdUd" style="text-align: right" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised"><span style="-sec-ix-hidden: xdx2ixbrl2104">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Warrants issued</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ConversionOfStockSharesIssued1_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zQfRULFz1Ahi" style="border-bottom: Black 1pt solid; text-align: right" title="Warrants issued"><span style="-sec-ix-hidden: xdx2ixbrl2106">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk1q3q81qcSd" style="text-align: right" title="Weighted average exercise price, warrants issued"><span style="-sec-ix-hidden: xdx2ixbrl2108">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Outstanding at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU5bYtgTjwv8" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants outstanding at end">44,644</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRxIac0uaDt8" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price outstanding at end">7.70</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU2CK6g1GW79" title="Weighted average remaining contractual term (years)">0.7</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zceK5biiFXWb" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"><span style="-sec-ix-hidden: xdx2ixbrl2116">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Exercisable at December 31, 2023</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8di5qjrSmW9" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants, exercisable">44,644</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zKNRnJdIjmF7" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price, exercisable">7.70</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zlNsmaY2iB05" title="Weighted average remaining contractual term (years), exercisable">0.7</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRMPUZUaS91b" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value, exercisable"><span style="-sec-ix-hidden: xdx2ixbrl2124">&#8212;</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900975696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SALE OF ASSETS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_DisclosureSaleOfAssetsAbstract', window );"><strong>Sale Of Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ScheduleOfNoteReceivableTableTextBlock', window );">Schedule of note receivable</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--ScheduleOfNoteReceivableTableTextBlock_zAJcwLsMQZsh" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SALE OF ASSETS (Details)">
  <tr style="vertical-align: bottom">
    <td id="xdx_8BB_zKS748qY8aY5" style="display: none">Schedule of note receivable</td><td>&#160;</td>
    <td colspan="2" id="xdx_49C_20231231_zn1A6yCmHzpa" style="text-align: center">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"><p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>December 31,</b></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"><b>2023</b></p></td><td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_z7TIb7JSRz3d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: justify">Convertible note receivable</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right">165,000</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zcMkXkrSJENc" style="vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt">Unamortized discount</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">(11,250</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zRaNDSi1BTli" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt">Convertible note receivable, net</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right">153,750</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_DisclosureSaleOfAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_DisclosureSaleOfAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ScheduleOfNoteReceivableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ScheduleOfNoteReceivableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037898193232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashUninsuredAmount', window );">Federally insured limits</a></td>
<td class="nump">$ 1,948,794<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ProductWarrantyPeriod', window );">Product warranty Period</a></td>
<td class="text">90 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising costs</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Outstanding warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">147,591<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers', window );">Number of incentive stock options</a></td>
<td class="nump">1,387,775<span></span>
</td>
<td class="nump">926,266<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember', window );">Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Outstanding warrants</a></td>
<td class="nump">44,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_SeriesDConvertiblePreferredStockMember', window );">Series D Convertible Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConversionOfStockSharesConverted', window );">Common shares issuable conversion</a></td>
<td class="nump">433,000<span></span>
</td>
<td class="nump">433,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_SeriesEConvertiblePreferredStockMember', window );">Series E Convertible Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConversionOfStockSharesConverted', window );">Common shares issuable conversion</a></td>
<td class="nump">3,833,334<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_SeriesFConvertiblePreferredStockMember', window );">Series F Convertible Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConversionOfStockSharesConverted', window );">Common shares issuable conversion</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=duot_PatentsAndTrademarksMember', window );">Patents And Trademarks [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated economic life of the property and equipment</a></td>
<td class="text">17 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated economic life of the property and equipment</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ProductWarrantyPeriod', window );">Product warranty Period</a></td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated economic life of the property and equipment</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ProductWarrantyPeriod', window );">Product warranty Period</a></td>
<td class="text">36 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_Customer1Member', window );">Customer 1 [Member] | Revenue Benchmark [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">48.00%<span></span>
</td>
<td class="nump">42.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_Customer1Member', window );">Customer 1 [Member] | Accounts Receivable [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">83.00%<span></span>
</td>
<td class="nump">34.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_Customer2Member', window );">Customer 2 [Member] | Revenue Benchmark [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">30.00%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_Customer2Member', window );">Customer 2 [Member] | Accounts Receivable [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">31.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_Customer3Member', window );">Customer 3 [Member] | Revenue Benchmark [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_Customer3Member', window );">Customer 3 [Member] | Accounts Receivable [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_Customer4Member', window );">Customer 4 [Member] | Revenue Benchmark [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_Customer4Member', window );">Customer 4 [Member] | Accounts Receivable [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_CustomerMember', window );">Customer [Member] | Revenue Benchmark [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">30.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=duot_CustomerMember', window );">Customer [Member] | Revenue Benchmark [Member] | Customer Concentration Risk [Member] | UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">44.00%<span></span>
</td>
<td class="nump">41.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ConversionOfStockSharesConverted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ConversionOfStockSharesConverted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ProductWarrantyPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Product warranty Period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ProductWarrantyPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashUninsuredAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashUninsuredAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_SeriesDConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_SeriesDConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_SeriesEConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_SeriesEConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_SeriesFConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_SeriesFConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=duot_PatentsAndTrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=duot_PatentsAndTrademarksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=duot_Customer1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=duot_Customer1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=duot_Customer2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=duot_Customer2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=duot_Customer3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=duot_Customer3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=duot_Customer4Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=duot_Customer4Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=duot_CustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=duot_CustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900919504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LIQUIDITY (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net loss</a></td>
<td class="nump">$ 11,241,718<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_WorkingCapitalSurplus', window );">Working capital surplus</a></td>
<td class="nump">3,009,842<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="nump">$ 63,603,552<span></span>
</td>
<td class="nump">$ 52,361,834<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_WorkingCapitalSurplus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_WorkingCapitalSurplus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037999242608">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE (Details- Accounts receivable) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGross', window );">Accounts receivable</a></td>
<td class="nump">$ 1,462,463<span></span>
</td>
<td class="nump">$ 3,418,263<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Allowance for doubtful accounts</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts Receivable, Net</a></td>
<td class="nump">$ 1,462,463<span></span>
</td>
<td class="nump">$ 3,418,263<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480833/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481058/954-310-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037904520256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">$ 2,103,136<span></span>
</td>
<td class="nump">$ 1,606,451<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="num">(1,376,629)<span></span>
</td>
<td class="num">(976,961)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, Equipment and Software, net</a></td>
<td class="nump">726,507<span></span>
</td>
<td class="nump">629,490<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation Expense</a></td>
<td class="nump">315,686<span></span>
</td>
<td class="nump">267,959<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">132,018<span></span>
</td>
<td class="nump">115,238<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">1,291,673<span></span>
</td>
<td class="nump">1,162,568<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">298,004<span></span>
</td>
<td class="nump">228,404<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember', window );">Software Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">381,441<span></span>
</td>
<td class="nump">100,241<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="num">(133,149)<span></span>
</td>
<td class="num">(57,032)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, Equipment and Software, net</a></td>
<td class="nump">248,292<span></span>
</td>
<td class="nump">43,209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation Expense</a></td>
<td class="nump">84,328<span></span>
</td>
<td class="nump">57,033<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentOtherTypesMember', window );">Property, Plant and Equipment, Other Types [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation Expense</a></td>
<td class="nump">$ 315,686<span></span>
</td>
<td class="nump">$ 262,895<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentOtherTypesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentOtherTypesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037898039568">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software) - Property, Plant and Equipment, Other Types [Member]<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 100,952<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">103,716<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">43,624<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite lived intangible assets</a></td>
<td class="nump">$ 248,292<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentOtherTypesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentOtherTypesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037998889408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY AND EQUIPMENT (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation expense</a></td>
<td class="nump">$ 315,686<span></span>
</td>
<td class="nump">$ 267,959<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037899818784">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>PATENTS AND TRADEMARKS (Details - Patents and trademarks) - Patents [Member] - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Patents</a></td>
<td class="nump">$ 395,472<span></span>
</td>
<td class="nump">$ 326,145<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(266,332)<span></span>
</td>
<td class="num">(256,412)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Patent, net</a></td>
<td class="nump">$ 129,140<span></span>
</td>
<td class="nump">$ 69,733<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900773200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PATENTS AND TRADEMARKS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">$ 9,920<span></span>
</td>
<td class="nump">$ 13,688<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900941568">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareGross', window );">Software Development</a></td>
<td class="nump">$ 721,309<span></span>
</td>
<td class="nump">$ 341,784<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConstructionInProgress', window );">Construction in Progress</a></td>
<td class="nump">148,371<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(216,842)<span></span>
</td>
<td class="num">(76,576)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SoftwareDevelopmentCostsNet', window );">Software Development, net</a></td>
<td class="nump">$ 652,838<span></span>
</td>
<td class="nump">$ 265,208<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ConstructionInProgress">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ConstructionInProgress</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SoftwareDevelopmentCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SoftwareDevelopmentCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900688144">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization) - Software and Software Development Costs [Member]<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 269,893<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">252,341<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">130,604<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite lived intangible assets</a></td>
<td class="nump">$ 652,838<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900668400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SOFTWARE DEVELOPMENT COSTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_AmortizationOfIntangibleAssets1', window );">Amortization of software development costs</a></td>
<td class="nump">$ 140,267<span></span>
</td>
<td class="nump">$ 16,576<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_DepreciationOfSoftwareCost', window );">Depreciation of software cost</a></td>
<td class="nump">$ 84,328<span></span>
</td>
<td class="nump">$ 57,033<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_AmortizationOfIntangibleAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_AmortizationOfIntangibleAssets1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_DepreciationOfSoftwareCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_DepreciationOfSoftwareCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037904641296">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>DEBT (Details - Notes payable - financing agreements) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNotesPayableCurrent', window );">Notes payable, Principal</a></td>
<td class="nump">$ 41,976<span></span>
</td>
<td class="nump">$ 74,575<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteOneMember', window );">Third Party Insurance Note One [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNotesPayableCurrent', window );">Notes payable, Principal</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteTwoMember', window );">Third Party Insurance Note Two [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNotesPayableCurrent', window );">Notes payable, Principal</a></td>
<td class="nump">$ 39,968<span></span>
</td>
<td class="nump">$ 17,753<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtPercentageBearingFixedInterestRate', window );">Notes payable, Interest</a></td>
<td class="nump">8.00%<span></span>
</td>
<td class="nump">6.24%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteThreeMember', window );">Third Party Insurance Note Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNotesPayableCurrent', window );">Notes payable, Principal</a></td>
<td class="nump">$ 2,008<span></span>
</td>
<td class="nump">$ 16,094<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteFourMember', window );">Third Party Insurance Note Four [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNotesPayableCurrent', window );">Notes payable, Principal</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 40,728<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtPercentageBearingFixedInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The interest rate applicable to the portion of the carrying amount of long-term borrowings outstanding as of the balance sheet date, including current maturities, which accrues interest at a set, unchanging rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtPercentageBearingFixedInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term notes classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037903940048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">36 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 15, 2023</div></th>
<th class="th"><div>Feb. 03, 2023</div></th>
<th class="th"><div>Dec. 23, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Apr. 15, 2022</div></th>
<th class="th"><div>Feb. 03, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Jun. 01, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 15, 2022</div></th>
<th class="th"><div>May 22, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_PurchaseOfInsurancePolicy', window );">Purchase of an insurance policy</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 242,591<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_DownPaymentPaid', window );">Down payment paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 41,854<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_InsuranceMonthlyInstallments', window );">Insurance monthly installments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,073<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromDepositsWithOtherInstitutions', window );">Received refund</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 53,175<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteOneMember', window );">Third Party Insurance Note One [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayable', window );">Notes payable outstanding balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,484<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.73%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPayment', window );">Monthly installments of principal and interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,755<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteTwoMember', window );">Third Party Insurance Note Two [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayable', window );">Notes payable outstanding balance</a></td>
<td class="nump">$ 142,734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 63,766<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,968<span></span>
</td>
<td class="nump">17,753<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Interest rate</a></td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.24%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPayment', window );">Monthly installments of principal and interest</a></td>
<td class="nump">$ 13,501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,979<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteThreeMember', window );">Third Party Insurance Note Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayable', window );">Notes payable outstanding balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,008<span></span>
</td>
<td class="nump">16,094<span></span>
</td>
<td class="nump">$ 24,140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPayment', window );">Monthly installments of principal and interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,012<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteFourMember', window );">Third Party Insurance Note Four [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayable', window );">Notes payable outstanding balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">293,520<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">40,728<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPayment', window );">Monthly installments of principal and interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,976<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_DownPaymentPaid', window );">Down payment paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125,690<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=duot_EquipmentFinancingMember', window );">Equipment Financing [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayable', window );">Notes payable outstanding balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 22,851<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 121,637<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9.90%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPayment', window );">Monthly installments of principal and interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,919<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_DownPaymentPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_DownPaymentPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_InsuranceMonthlyInstallments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_InsuranceMonthlyInstallments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_PurchaseOfInsurancePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_PurchaseOfInsurancePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentPeriodicPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the required periodic payments including both interest and principal payments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480848/942-470-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentPeriodicPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFixedInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fixed interest rate related to the interest rate derivative.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFixedInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, aggregate carrying amount of all types of notes payable, as of the balance sheet date, with initial maturities beyond one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromDepositsWithOtherInstitutions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash received from refund of deposits with other institutions during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromDepositsWithOtherInstitutions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=duot_ThirdPartyInsuranceNoteFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=duot_EquipmentFinancingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=duot_EquipmentFinancingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900523088">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_CostsAndEstimatedEarningsRecognized', window );">Cumulative revenues recognized</a></td>
<td class="nump">$ 8,820,256<span></span>
</td>
<td class="nump">$ 5,934,205<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_BillingsOrCashReceived', window );">Less: Billings or cash received</a></td>
<td class="num">(8,178,309)<span></span>
</td>
<td class="num">(5,508,483)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract Assets</a></td>
<td class="nump">$ 641,947<span></span>
</td>
<td class="nump">$ 425,722<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_BillingsOrCashReceived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Billings or cash received.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_BillingsOrCashReceived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_CostsAndEstimatedEarningsRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Costs and estimated earnings recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_CostsAndEstimatedEarningsRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900118672">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_BillingsAndorCashReceiptsOnUncompletedContracts', window );">Billings and/or cash receipts on uncompleted contracts</a></td>
<td class="nump">$ 1,264,658<span></span>
</td>
<td class="nump">$ 4,355,470<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_CostAndEstimatedEarningsRecognized', window );">Less: Cumulative revenues</a></td>
<td class="num">(199,976)<span></span>
</td>
<td class="num">(4,144,018)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ContractLiabilitiesTechnologiesSystems', window );">Contract liabilities, technology systems</a></td>
<td class="nump">1,064,682<span></span>
</td>
<td class="nump">211,452<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ContractLiabilitiesServicesAndConsulting', window );">Contract Liabilities, services and consulting</a></td>
<td class="nump">601,561<span></span>
</td>
<td class="nump">746,545<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Total Contract Liabilities</a></td>
<td class="nump">$ 1,666,243<span></span>
</td>
<td class="nump">$ 957,997<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_BillingsAndorCashReceiptsOnUncompletedContracts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Costs and estimated earnings recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_BillingsAndorCashReceiptsOnUncompletedContracts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ContractLiabilitiesServicesAndConsulting">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ContractLiabilitiesServicesAndConsulting</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ContractLiabilitiesTechnologiesSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ContractLiabilitiesTechnologiesSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_CostAndEstimatedEarningsRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Costs and estimated earnings recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_CostAndEstimatedEarningsRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037903067696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 7,471,198<span></span>
</td>
<td class="nump">$ 15,012,366<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=duot_GoodsTransferredOverTimeMember', window );">Goods Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,218,028<span></span>
</td>
<td class="nump">11,190,292<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=duot_ServicesTransferredOverTimeMember', window );">Services Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,853,170<span></span>
</td>
<td class="nump">3,822,074<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=duot_TurnkeyProjectsMember', window );">Turnkey Projects [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,618,028<span></span>
</td>
<td class="nump">11,190,292<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=duot_MaintenanceAndSupportMember', window );">Maintenance And Support [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">2,733,648<span></span>
</td>
<td class="nump">3,108,114<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=duot_DataCenterAuditingServicesMember', window );">Data Center Auditing Services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=duot_SoftwareLicenseMember', window );">Software License [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=duot_AlgorithmsMember', window );">Algorithms [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">1,119,522<span></span>
</td>
<td class="nump">713,960<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_RailMember', window );">Rail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">6,261,748<span></span>
</td>
<td class="nump">13,710,777<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_RailMember', window );">Rail [Member] | Goods Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,616,334<span></span>
</td>
<td class="nump">10,789,693<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_RailMember', window );">Rail [Member] | Services Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">2,645,414<span></span>
</td>
<td class="nump">2,921,084<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_RailMember', window );">Rail [Member] | Turnkey Projects [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,616,334<span></span>
</td>
<td class="nump">10,789,693<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_RailMember', window );">Rail [Member] | Maintenance And Support [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">2,645,414<span></span>
</td>
<td class="nump">2,921,084<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_RailMember', window );">Rail [Member] | Data Center Auditing Services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_RailMember', window );">Rail [Member] | Software License [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_RailMember', window );">Rail [Member] | Algorithms [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember', window );">Commercial [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">78,575<span></span>
</td>
<td class="nump">115,443<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember', window );">Commercial [Member] | Goods Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">1,694<span></span>
</td>
<td class="nump">9,297<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember', window );">Commercial [Member] | Services Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">76,881<span></span>
</td>
<td class="nump">106,146<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember', window );">Commercial [Member] | Turnkey Projects [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">1,694<span></span>
</td>
<td class="nump">9,297<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember', window );">Commercial [Member] | Maintenance And Support [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">76,881<span></span>
</td>
<td class="nump">106,146<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember', window );">Commercial [Member] | Data Center Auditing Services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember', window );">Commercial [Member] | Software License [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember', window );">Commercial [Member] | Algorithms [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember', window );">Governments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">11,353<span></span>
</td>
<td class="nump">237,414<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember', window );">Governments [Member] | Goods Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">156,530<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember', window );">Governments [Member] | Services Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">11,353<span></span>
</td>
<td class="nump">80,884<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember', window );">Governments [Member] | Turnkey Projects [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">156,530<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember', window );">Governments [Member] | Maintenance And Support [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">11,353<span></span>
</td>
<td class="nump">80,884<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember', window );">Governments [Member] | Data Center Auditing Services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember', window );">Governments [Member] | Software License [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember', window );">Governments [Member] | Algorithms [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember', window );">Artificial Intelligence [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">1,119,522<span></span>
</td>
<td class="nump">948,732<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember', window );">Artificial Intelligence [Member] | Goods Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">234,772<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember', window );">Artificial Intelligence [Member] | Services Transferred Over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">1,119,522<span></span>
</td>
<td class="nump">713,960<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember', window );">Artificial Intelligence [Member] | Turnkey Projects [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">234,772<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember', window );">Artificial Intelligence [Member] | Maintenance And Support [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember', window );">Artificial Intelligence [Member] | Data Center Auditing Services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember', window );">Artificial Intelligence [Member] | Software License [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember', window );">Artificial Intelligence [Member] | Algorithms [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">1,119,522<span></span>
</td>
<td class="nump">713,960<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">7,471,198<span></span>
</td>
<td class="nump">15,012,366<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America [Member] | Rail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">6,261,748<span></span>
</td>
<td class="nump">13,710,777<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America [Member] | Commercial [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">78,575<span></span>
</td>
<td class="nump">115,443<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America [Member] | Governments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">11,353<span></span>
</td>
<td class="nump">237,414<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America [Member] | Artificial Intelligence [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 1,119,522<span></span>
</td>
<td class="nump">$ 948,732<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=duot_GoodsTransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=duot_GoodsTransferredOverTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=duot_ServicesTransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=duot_ServicesTransferredOverTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=duot_TurnkeyProjectsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=duot_TurnkeyProjectsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=duot_MaintenanceAndSupportMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=duot_MaintenanceAndSupportMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=duot_DataCenterAuditingServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=duot_DataCenterAuditingServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=duot_SoftwareLicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=duot_SoftwareLicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=duot_AlgorithmsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=duot_AlgorithmsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=duot_RailMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=duot_RailMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=duot_CommercialMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=duot_GovernmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=duot_ArtificialIntelligenceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_NorthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900073168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUES AND CONTRACT ACCOUNTING (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">$ 1,666,243<span></span>
</td>
<td class="nump">$ 957,997<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ContractLiabilitiesTechnologiesSystems', window );">Contract liabilities, technology systems</a></td>
<td class="nump">$ 1,064,682<span></span>
</td>
<td class="nump">211,452<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ServicesAndConsultingRecognized', window );">Services and consulting recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 721,810<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ContractLiabilitiesTechnologiesSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ContractLiabilitiesTechnologiesSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ServicesAndConsultingRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ServicesAndConsultingRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037999191200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>DEFERRED COMPENSATION (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsAbstract', window );"><strong>Compensation Related Costs [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationLiabilityCurrent', window );">Accrued deferred compensation</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 297,620<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable within one year (or the operating cycle, if longer). Represents currently earned compensation under compensation arrangements that is not actually paid until a later date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 710<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483070/710-10-25-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 30<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483043/710-10-30-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037992591568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 781,638<span></span>
</td>
<td class="nump">$ 782,591<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short term lease Cost</a></td>
<td class="nump">63,770<span></span>
</td>
<td class="nump">33,751<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRent', window );">Operating cash outflow used for operating leases</a></td>
<td class="nump">$ 696,869<span></span>
</td>
<td class="nump">$ 416,250<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">9.00%<span></span>
</td>
<td class="nump">9.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term</a></td>
<td class="text">8 years 6 months<span></span>
</td>
<td class="text">9 years 6 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash payments to lessor's for use of assets under operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (g)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900470240">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 779,087<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">798,556<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">818,518<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="nump">838,984<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="nump">859,856<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">&#160;&#160;&#160;Thereafter</a></td>
<td class="nump">3,183,571<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">&#160;&#160;&#160;&#160;&#160;&#160;Total undiscounted future minimum lease payments</a></td>
<td class="nump">7,278,572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: Impact of discounting</a></td>
<td class="num">(2,270,767)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total present value of operating lease obligation</a></td>
<td class="nump">5,007,805<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">&#160;&#160;&#160;&#160;&#160;&#160;Current portion</a></td>
<td class="num">(779,087)<span></span>
</td>
<td class="num">$ (696,869)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease obligation, less current portion</a></td>
<td class="nump">$ 4,228,718<span></span>
</td>
<td class="nump">$ 4,542,943<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037999312448">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES (Details Narrative)<br></strong></div></th>
<th class="th">
<div>Jul. 26, 2021 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_AreaOfLease', window );">Area of lease | ft&#178;</a></td>
<td class="nump">40,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Accumulated amortization</a></td>
<td class="nump">$ 4,980,104<span></span>
</td>
<td class="nump">$ 4,373,155<span></span>
</td>
<td class="nump">$ 4,689,931<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_RentableSpace', window );">Rentable space | ft&#178;</a></td>
<td class="nump">30,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecurityDepositLiability', window );">Security deposit payment</a></td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecurityDeposit', window );">Security deposit value</a></td>
<td class="nump">$ 50,000<span></span>
</td>
<td class="nump">$ 550,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_AreaOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_AreaOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_RentableSpace">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_RentableSpace</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecurityDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecurityDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecurityDepositLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This element represents money paid in advance to protect the provider of a product or service, such as a lessor, against damage or nonpayment by the buyer or tenant (lessee) during the term of the agreement. Such damages may include physical damage to the property, theft of property, and other contractual breaches. Security deposits held may be interest or noninterest bearing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecurityDepositLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037993800896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Details - Provision for income taxes) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Income tax benefit at U.S. statutory rate of 21%</a></td>
<td class="num">$ (2,360,761)<span></span>
</td>
<td class="num">$ (1,441,624)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State income taxes</a></td>
<td class="num">(404,702)<span></span>
</td>
<td class="num">(247,135)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpense', window );">Non-deductible expenses</a></td>
<td class="nump">271,648<span></span>
</td>
<td class="nump">201,521<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">2,493,815<span></span>
</td>
<td class="nump">1,487,238<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total provision for income tax</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037898191984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INCOME TAXES (Details - Deferred tax assets) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforward</a></td>
<td class="nump">$ 12,318,836<span></span>
</td>
<td class="nump">$ 9,772,854<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets', window );">Intangible assets</a></td>
<td class="num">(84,823)<span></span>
</td>
<td class="num">(32,656)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Gross deferred tax assets</a></td>
<td class="nump">12,234,013<span></span>
</td>
<td class="nump">9,740,198<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(12,234,013)<span></span>
</td>
<td class="num">(9,740,198)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Net deferred tax assets</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037900795728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Gross operating loss carry forward</a></td>
<td class="nump">$ 50,076,569<span></span>
</td>
<td class="nump">$ 39,727,050<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Increase in valuation allowance</a></td>
<td class="nump">2,493,815<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Net operating loss carryforward</a></td>
<td class="nump">4,357,876<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations', window );">Potential tax benefit arising from net operating loss carryforward</a></td>
<td class="nump">$ 7,876,137<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Potential tax benefit arising from net operating loss carryforward within annual usage limitations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037809908208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKHOLDERS&#8217; EQUITY (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="7">3 Months Ended</th>
<th class="th" colspan="3">6 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Nov. 09, 2023</div></th>
<th class="th"><div>Aug. 02, 2023</div></th>
<th class="th"><div>Mar. 27, 2023</div></th>
<th class="th"><div>Oct. 29, 2022</div></th>
<th class="th"><div>Aug. 25, 2022</div></th>
<th class="th"><div>Feb. 21, 2022</div></th>
<th class="th"><div>Feb. 03, 2022</div></th>
<th class="th"><div>Jan. 11, 2022</div></th>
<th class="th"><div>May 12, 2021</div></th>
<th class="th"><div>Feb. 26, 2021</div></th>
<th class="th"><div>Jan. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 29, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Nov. 10, 2023</div></th>
<th class="th"><div>Sep. 29, 2023</div></th>
<th class="th"><div>Sep. 28, 2022</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,000,000<span></span>
</td>
<td class="nump">10,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Conversion price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.003<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.003<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.003<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock', window );">Proceeds from convertible preferred stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4<span></span>
</td>
<td class="nump">$ 4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesFPreferredConvertiblePreferredStockShares', window );">Series F preferred convertible preferred stock, Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock issued for services , value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 143,065<span></span>
</td>
<td class="nump">$ 157,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConversionOfStockSharesIssued', window );">Conversion of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">710<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockConvertibleConversionPriceIncrease', window );">Conversion price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Number of shares issued, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">198,750<span></span>
</td>
<td class="nump">1,325,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Number of shares issued, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 795,000<span></span>
</td>
<td class="nump">$ 5,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceInitialPublicOffering', window );">Proceeds from offering cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">739,350<span></span>
</td>
<td class="nump">$ 4,779,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockIssuedEmployeeTrustDeferred', window );">Aggregate common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConvertedToCommonStockShares', window );">Converted to common stock shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">121,572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_AccruedOfferingCosts', window );">Accrued offering costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 260,816<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredOfferingCosts', window );">Offering costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 105,460<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 257,240<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2', window );">Total compensation cost for stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 580,572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 580,572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 580,572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,324<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,324<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,324<span></span>
</td>
<td class="nump">1,324<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">235<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonValue', window );">Treasury stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 157,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 157,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 157,452<span></span>
</td>
<td class="nump">$ 157,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 148,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=duot_ShareholdersOneMember', window );">Shareholders One [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 115<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 84<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare', window );">Market value of stock repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.08<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=duot_ShareholdersTwoMember', window );">Shareholders Two [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 753<span></span>
</td>
<td class="nump">$ 140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare', window );">Market value of stock repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9.09<span></span>
</td>
<td class="nump">$ 6.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember', window );">Private Placement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Services per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement', window );">Private placement sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">83,667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">818,335<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.79<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.47<span></span>
</td>
<td class="nump">$ 1.79<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock issued for services , shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45,977<span></span>
</td>
<td class="nump">65,561<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP', window );">Total employee participation amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 113,352<span></span>
</td>
<td class="nump">$ 117,048<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 70,434<span></span>
</td>
<td class="nump">$ 66,217<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=duot_ESPPMember', window );">E S P P [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent', window );">Accrued liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 72,801<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock issued for services , shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38,249<span></span>
</td>
<td class="nump">43,959<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock issued for services , value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 38<span></span>
</td>
<td class="nump">$ 43<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesOther', window );">Number of shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,425,752<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=duot_ThreeDirectorsMember', window );">Three Directors [Member] | Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock issued for services , shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,645<span></span>
</td>
<td class="nump">12,463<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock issued for services , value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32,500<span></span>
</td>
<td class="nump">$ 32,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased', window );">Weighted average price per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.76<span></span>
</td>
<td class="nump">$ 2.61<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.76<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=duot_FourDirectorsMember', window );">Four Directors [Member] | Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock issued for services , shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,231<span></span>
</td>
<td class="nump">7,910<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock issued for services , value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37,500<span></span>
</td>
<td class="nump">$ 40,565<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased', window );">Weighted average price per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.13<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_DirectorMember', window );">Director [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Stock issued for services , shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,335<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,758<span></span>
</td>
<td class="nump">10,668<span></span>
</td>
<td class="nump">7,198<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Stock issued for services , value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40,000<span></span>
</td>
<td class="nump">$ 40,000<span></span>
</td>
<td class="nump">$ 40,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Services per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.75<span></span>
</td>
<td class="nump">$ 5.56<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.75<span></span>
</td>
<td class="nump">$ 2.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=duot_EmployeesAndDirectorsMember', window );">Employees And Directors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 573,441<span></span>
</td>
<td class="nump">$ 819,191<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TypeOfArrangementAxis=duot_PurchaseAgreementMember', window );">Purchase Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock', window );">Proceeds from convertible preferred stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesBPreferredStockMember', window );">Convertible Series B Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConvertedToCommonStockShares', window );">Converted to common stock shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">851<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_SeriesBConvertiblePreferredStockMember', window );">Series B Convertible Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConversionOfStockAmountConverted1', window );">Conversion of stock, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Conversion price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesCPreferredStockMember', window );">Convertible Series C Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockVotingRights', window );">Preferred stock voting rights</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Each
share of Series C Convertible Preferred Stock had 172 votes (subject to adjustment); provided that in no event may a holder of Series
C Convertible Preferred Stock be entitled to vote a number of shares in excess of such holder&#8217;s Beneficial Ownership Limitation
(as defined in the Certificate of Designation and as described below). Each share of Series C Convertible Preferred Stock was convertible,
at any time and from time to time, at the option of the holder, into that number of shares of common stock (subject to the Beneficial
Ownership Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price, which is $5.50 (subject
to adjustment). The Company shall not effect any conversion of the Series C Convertible Preferred Stock, and a holder shall not have
the right to convert any portion of the Series C Convertible Preferred Stock, to the extent that after giving effect to the conversion
sought by the holder such holder (together with such holder&#8217;s Attribution Parties (as defined in the Certificate of Designation))
would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock outstanding immediately
after giving effect to the issuance of shares of common stock issuable upon such conversion (the &#8220;Beneficial Ownership Limitation&#8221;).
All holders of the Series C Preferred Stock elected the 19.99% Beneficial Ownership Limitation.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesCPreferredConvertedToCommonStockShares', window );">Series C preferred converted to common stock shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">454,546<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConversionOfStockSharesIssued', window );">Conversion of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,790<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesDPreferredStockMember', window );">Convertible Series D Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="nump">1,299<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockVotingRights', window );">Preferred stock voting rights</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Each
share of Series D Convertible Preferred Stock has 333 votes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockConvertibleConversionPrice', window );">Conversion price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_SeriesDConvertiblePreferredStockMember', window );">Series D Convertible Preferred Stock [Member] | Purchase Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">999<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock', window );">Proceeds from convertible preferred stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 999,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_SeriesDConvertiblePreferredStockMember', window );">Series D Convertible Preferred Stock [Member] | Private Placement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock', window );">Proceeds from convertible preferred stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesEPreferredStockMember', window );">Convertible Series E Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,000<span></span>
</td>
<td class="nump">30,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockVotingRights', window );">Preferred stock voting rights</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Each share of Series E Preferred Stock has 333 votes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock', window );">Proceeds from convertible preferred stock</a></td>
<td class="nump">$ 2,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SeriesEPreferredConvertiblePreferredStockShares', window );">Series E preferred convertible preferred stock, Shares</a></td>
<td class="nump">2,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Additional shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_SeriesEConvertiblePreferredStockMember', window );">Series E Convertible Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,500<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockConvertibleConversionPrice', window );">Conversion price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Additional shares</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssuedPricePerShare', window );">Price per common share</a></td>
<td class="nump">3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_StockExchangeShares', window );">Exchange of shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_SeriesEConvertiblePreferredStockMember', window );">Series E Convertible Preferred Stock [Member] | Purchase Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock', window );">Proceeds from convertible preferred stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_SeriesFConvertiblePreferredStockMember', window );">Series F Convertible Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssuedPricePerShare', window );">Price per common share</a></td>
<td class="nump">$ 6.20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_StockExchangeShares', window );">Exchange of shares</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalUnitsOutstanding', window );">Shares outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesFPreferredStockMember', window );">Convertible Series F Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockVotingRights', window );">Preferred stock voting rights</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Each share of Series F Preferred Stock had 161 votes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockConvertibleConversionPrice', window );">Conversion price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Additional shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_SeriesDPreferredStockMember', window );">Series D Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesOther', window );">Number of shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">999<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement', window );">Gross proceeds private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 551,001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,454,003<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OptionIndexedToIssuersEquityTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward', window );">Common stock on the date of grant, term of the stock option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">not
exceed 10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockVotingRights', window );">Voting rights</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">more
than 10% of the total combined voting power of all classes of capital stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_AggregateFairMarketValueOfOurCommonStockNotExceed', window );">Aggregate fair market value of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=duot_TwoThousandTwentyOneEquityIncentivePlanMember', window );">Two Thousand Twenty One Equity Incentive Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Issuance of Common stock under Awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=duot_EmployeeStockPurchasePlanMember', window );">Employee Stock Purchase Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Plan, term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription', window );">Plan, description</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">The ESPP allows eligible employees to purchase shares of the Company's common stock at a discounted price, through payroll
deductions from a minimum of 1% and up to 25% of their eligible compensation up to a maximum of $25,000 or the IRS allowable limit
per calendar year.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Maximum aggregate number of shares of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Issued shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">111,538<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=duot_EmployeeStockPurchasePlanMember', window );">Employee Stock Purchase Plan [Member] | Share-Based Payment Arrangement, Tranche One [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.79<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.79<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Issued shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65,561<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost', window );">Employee contributions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 117,048<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=duot_EmployeeStockPurchasePlanMember', window );">Employee Stock Purchase Plan [Member] | Share-Based Payment Arrangement, Tranche Two [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Issued shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45,977<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost', window );">Employee contributions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 113,352<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_AccruedOfferingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_AccruedOfferingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_AggregateFairMarketValueOfOurCommonStockNotExceed">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate fair market value of common stock threshold.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_AggregateFairMarketValueOfOurCommonStockNotExceed</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ConversionOfStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ConversionOfStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ConvertedToCommonStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ConvertedToCommonStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesCPreferredConvertedToCommonStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesCPreferredConvertedToCommonStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesEPreferredConvertiblePreferredStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesEPreferredConvertiblePreferredStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SeriesFPreferredConvertiblePreferredStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SeriesFPreferredConvertiblePreferredStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_StockExchangeShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_StockExchangeShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Final price paid per share for the purchase of the targeted number of shares, determined by an average market price over a fixed period of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481138/505-30-25-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalUnitsOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of capital units or capital shares outstanding. This element is relevant to issuers of face-amount certificates and registered investment companies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalUnitsOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482987/272-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockConvertibleConversionPriceIncrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share increase in conversion price of convertible common stock. Excludes change due to standard antidilution provision.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockConvertibleConversionPriceIncrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockIssuedEmployeeTrustDeferred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate value of common stock held in a trust that has been set up specifically to accumulate stock for the sole purpose of distribution to participating employees but not yet earned.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483070/710-10-25-17<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483070/710-10-25-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockIssuedEmployeeTrustDeferred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockVotingRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of voting rights of common stock. Includes eligibility to vote and votes per share owned. Include also, if any, unusual voting rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockVotingRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConversionOfStockAmountConverted1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The value of the stock converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConversionOfStockAmountConverted1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredOfferingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Specific incremental costs directly attributable to a proposed or actual offering of securities which are deferred at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.A)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480341/340-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredOfferingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This item represents the amount of cash contributions during the period made by the entity to the Employee Stock Ownership Plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 40<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480489/718-40-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of units sold in a private placement of each class of partners' capital account. Units represent shares of ownership of the general, limited, and preferred partners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 4.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockConvertibleConversionPrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share conversion price of preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockConvertibleConversionPrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockVotingRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of voting rights of nonredeemable preferred stock. Includes eligibility to vote and votes per share owned. Include also, if any, unusual voting rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockVotingRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceInitialPublicOffering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from entity's first offering of stock to the public.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceInitialPublicOffering</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from issuance of preferred stocks identified as being convertible into another form of financial instrument, typically the entity's common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from entity's raising of capital via private rather than public placement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of additional cost recognized for award under share-based payment arrangement from occurrence of event accelerating recognition of cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of terms of share-based payment arrangement. Includes, but is not limited to, type of award or grantee and reason for issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share weighted-average price paid for shares purchased on open market for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of terms of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesIssuedPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or per unit amount of equity securities issued.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesIssuedPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued attributable to transactions classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=duot_ShareholdersOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=duot_ShareholdersOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=duot_ShareholdersTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=duot_ShareholdersTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=duot_ESPPMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=duot_ESPPMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=duot_ThreeDirectorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=duot_ThreeDirectorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=duot_FourDirectorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=duot_FourDirectorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_DirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_DirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=duot_EmployeesAndDirectorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=duot_EmployeesAndDirectorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TypeOfArrangementAxis=duot_PurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TypeOfArrangementAxis=duot_PurchaseAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesBPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesBPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_SeriesBConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_SeriesBConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesCPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesCPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesDPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesDPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_SeriesDConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_SeriesDConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TypeOfArrangementAxis=us-gaap_PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TypeOfArrangementAxis=us-gaap_PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesEPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesEPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_SeriesEConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_SeriesEConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_SeriesFConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_SeriesFConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesFPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_ConvertibleSeriesFPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_SeriesDPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_SeriesDPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OptionIndexedToIssuersEquityTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OptionIndexedToIssuersEquityTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=duot_TwoThousandTwentyOneEquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=duot_TwoThousandTwentyOneEquityIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=duot_EmployeeStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=duot_EmployeeStockPurchasePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037904610864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity) - Share-Based Payment Arrangement, Option [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Shares outstanding at beginning</a></td>
<td class="nump">926,266<span></span>
</td>
<td class="nump">431,266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price outstanding at beginning</a></td>
<td class="nump">$ 5.74<span></span>
</td>
<td class="nump">$ 4.98<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining contractual term (years) outstanding</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years 3 months 18 days<span></span>
</td>
<td class="text">3 years 4 months 24 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value outstanding at beginning</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 197,506<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Shares, granted</a></td>
<td class="nump">463,117<span></span>
</td>
<td class="nump">685,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, granted</a></td>
<td class="nump">$ 4.22<span></span>
</td>
<td class="nump">$ 6.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining contractual term (years), granted</a></td>
<td class="text">4 years 4 months 6 days<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Shares, forfeited</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(190,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, forfeited</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Shares outstanding at end</a></td>
<td class="nump">1,387,775<span></span>
</td>
<td class="nump">926,266<span></span>
</td>
<td class="nump">431,266<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price outstanding at end</a></td>
<td class="nump">$ 5.23<span></span>
</td>
<td class="nump">$ 5.74<span></span>
</td>
<td class="nump">$ 4.98<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value outstanding at end</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 197,506<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Shares, exercisable</a></td>
<td class="nump">581,324<span></span>
</td>
<td class="nump">404,599<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted average exercise price, exercisable</a></td>
<td class="nump">$ 5.38<span></span>
</td>
<td class="nump">$ 5.02<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted average remaining contractual term (years) exercisable</a></td>
<td class="text">1 year 9 months 18 days<span></span>
</td>
<td class="text">3 years 3 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Aggregate intrinsic value exercisable</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Shares, exercised/forfeited</a></td>
<td class="num">(1,608)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, exercised/forfeited</a></td>
<td class="nump">$ 14.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037899581904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions) - Share-Based Payment Arrangement, Option [Member] - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term in years</a></td>
<td class="text">3 years 6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value per option</a></td>
<td class="nump">$ 1.57<span></span>
</td>
<td class="nump">$ 2.33<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk free interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.97%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term in years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years 3 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Volatility of common stock</a></td>
<td class="nump">54.00%<span></span>
</td>
<td class="nump">72.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk free interest rate</a></td>
<td class="nump">3.73%<span></span>
</td>
<td class="nump">3.15%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term in years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years 6 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Volatility of common stock</a></td>
<td class="nump">118.00%<span></span>
</td>
<td class="nump">80.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037995330368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Number of warrants outstanding at beginning</a></td>
<td class="nump">147,591<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Number of warrants outstanding at end</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">147,591<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember', window );">Warrant [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Number of warrants outstanding at beginning</a></td>
<td class="nump">80,091<span></span>
</td>
<td class="nump">1,376,466<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Weighted average exercise price outstanding at beginning</a></td>
<td class="nump">$ 8.63<span></span>
</td>
<td class="nump">$ 8.18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining contractual term (years)</a></td>
<td class="text">8 months 12 days<span></span>
</td>
<td class="text">11 months 23 days<span></span>
</td>
<td class="text">1 year 10 months 24 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value outstanding at beginning</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_WarrantsExpiredForfeitedCancelledOrExercised', window );">Warrants expired, forfeited, cancelled or exercised</a></td>
<td class="num">(102,947)<span></span>
</td>
<td class="num">(1,228,875)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised', window );">Weighted average exercise price, warrants expired, forfeited, cancelled or exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConversionOfStockSharesIssued1', window );">Warrants issued</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice', window );">Weighted average exercise price, warrants issued</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Number of warrants outstanding at end</a></td>
<td class="nump">44,644<span></span>
</td>
<td class="nump">80,091<span></span>
</td>
<td class="nump">1,376,466<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Weighted average exercise price outstanding at end</a></td>
<td class="nump">$ 7.70<span></span>
</td>
<td class="nump">$ 8.63<span></span>
</td>
<td class="nump">$ 8.18<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate intrinsic value outstanding at end</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of warrants, exercisable</a></td>
<td class="nump">44,644<span></span>
</td>
<td class="nump">80,091<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted average exercise price, exercisable</a></td>
<td class="nump">$ 7.70<span></span>
</td>
<td class="nump">$ 8.63<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted average remaining contractual term (years), exercisable</a></td>
<td class="text">8 months 12 days<span></span>
</td>
<td class="text">9 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Aggregate intrinsic value, exercisable</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_WarrantsExpiredForfeitedCancelledOrExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_WarrantsExpiredForfeitedCancelledOrExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConversionOfStockSharesIssued1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of new shares issued in the conversion of stock in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConversionOfStockSharesIssued1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037899517744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMON STOCK OPTIONS AND WARRANTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="7">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 01, 2023</div></th>
<th class="th"><div>Apr. 02, 2023</div></th>
<th class="th"><div>Jul. 02, 2022</div></th>
<th class="th"><div>Jan. 02, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember', window );">Warrant [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Strike price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.70<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8.63<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8.18<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember', window );">Warrant [Member] | Fourty Eight Warrants Holders [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Shares expired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">102,947<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">102,947<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember', window );">Warrant [Member] | Sixty Three Warrants Holders [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Shares expired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,228,875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=duot_OptionsMember', window );">Options [Member] | Former Staff [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Non-qualified stock options, forfeited</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,608<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">110,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=duot_OptionsMember', window );">Options [Member] | Two Employees [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Non-qualified stock options, forfeited</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_ManagementMember', window );">Management [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock option granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">170,000<span></span>
</td>
<td class="nump">293,117<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">665,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Strike price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.22<span></span>
</td>
<td class="nump">$ 4.22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option plan expense</a></td>
<td class="nump">$ 172,000<span></span>
</td>
<td class="nump">$ 556,000<span></span>
</td>
<td class="nump">$ 33,096<span></span>
</td>
<td class="nump">$ 1,596,804<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 269,611<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 819,191<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnamortizedDebtIssuanceExpense', window );">Unamortized expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 458,389<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 458,389<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Total compensation cost for stock options not yet recognized, period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnamortizedDebtIssuanceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnamortizedDebtIssuanceExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=duot_FourtyEightWarrantsHoldersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=duot_FourtyEightWarrantsHoldersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=duot_SixtyThreeWarrantsHoldersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=duot_SixtyThreeWarrantsHoldersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=duot_OptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=duot_OptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=duot_FormerStaffMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=duot_FormerStaffMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=duot_TwoEmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=duot_TwoEmployeesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ManagementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ManagementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037896833328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEFINED CONTRIBUTION PLAN (Details Narrative)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanServiceCost', window );">Cash contributions</a></td>
<td class="nump">$ 216,332<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanServiceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for actuarial present value of benefits attributed to service rendered by employee for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanServiceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037995259808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SALE OF ASSETS (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_DisclosureSaleOfAssetsAbstract', window );"><strong>Sale Of Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConvertibleNoteReceivable', window );">Convertible note receivable</a></td>
<td class="nump">$ 165,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Unamortized discount</a></td>
<td class="num">(11,250)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_ConvertibleNoteReceivableNet', window );">Convertible note receivable, net</a></td>
<td class="nump">$ 153,750<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ConvertibleNoteReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ConvertibleNoteReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_ConvertibleNoteReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_ConvertibleNoteReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_DisclosureSaleOfAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_DisclosureSaleOfAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037995423424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SALE OF ASSETS (Details Narrative)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_DisclosureSaleOfAssetsAbstract', window );"><strong>Sale Of Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_PrincipalAmount', window );">Principal amount | $</a></td>
<td class="nump">$ 165,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_OriginalIssueDiscount', window );">Original issue discount</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Conversion price | $ / shares</a></td>
<td class="nump">$ 0.003<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsShares', window );">Common stock shares | shares</a></td>
<td class="nump">55,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_duot_PurchaseOfCommonStockWarrants', window );">Purchase of common stock warrants | shares</a></td>
<td class="nump">55,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WarrantExercisePriceIncrease', window );">Exercise price | $ / shares</a></td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges', window );">Sale of asset | $</a></td>
<td class="nump">$ 150,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_DisclosureSaleOfAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_DisclosureSaleOfAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_OriginalIssueDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_OriginalIssueDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_PrincipalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_PrincipalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_duot_PurchaseOfCommonStockWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">duot_PurchaseOfCommonStockWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>duot_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock issued as dividends during the period. Excludes stock splits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from the difference between the sale price or salvage price and the book value of an asset that was sold or retired, and gain (loss) from the write down of assets from their carrying value to fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WarrantExercisePriceIncrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share increase in exercise price of warrant. Excludes change due to standard antidilution provision.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WarrantExercisePriceIncrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140037904547328">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS (Details Narrative) - Private Placement [Member] - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 22, 2024</div></th>
<th class="th"><div>Oct. 29, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of Stock, Price Per Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.00<span></span>
</td>
<td class="nump">$ 3.00<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember', window );">New Accredited Investors [Member] | Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockConsiderationReceivedOnTransaction', window );">Sale of Stock, Consideration Received on Transaction</a></td>
<td class="nump">$ 2,745,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember', window );">New Accredited Investors [Member] | Subsequent Event [Member] | Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of Stock, Price Per Share</a></td>
<td class="nump">$ 3.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember', window );">New Accredited Investors [Member] | Series D Convertible Preferred Stock [Member] | Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of Stock, Number of Shares Issued in Transaction</a></td>
<td class="nump">620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember', window );">New Accredited Investors [Member] | Series E Convertible Preferred Stock [Member] | Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of Stock, Number of Shares Issued in Transaction</a></td>
<td class="nump">2,125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of Stock, Price Per Share</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockConsiderationReceivedOnTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash received on stock transaction after deduction of issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockConsiderationReceivedOnTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=duot_NewAccreditedInvestorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=duot_NewAccreditedInvestorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_SeriesDConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_SeriesDConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=duot_SeriesEConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=duot_SeriesEConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>85
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
M\OLGQL1V(_V!W0LS[?\!4$L#!!0    ( ,Z#@5C419JYQ@@  $$S   8
M>&PO=V]R:W-H965T<R]S:&5E=#(N>&ULM9MO;^(Z%L:_BL5>[<Z5Z!#_3=+;
M(K64JZFV=]HMS*Y6JWV1@BG1A(2;F':ZGWY/ L4D<3+%34>:&0+')^>Q?8Y_
M=N#L.4F_9TLI%?JQBN+LO+=4:GTZ&&2SI5P%V>=D+6/X9)&DJT#!9?HXR-:I
M#.9%HU4T((XC!JL@C'O#L^*]NW1XEFQ4%,;R+D799K4*TI=+&27/YSW<>WWC
M/GQ<JOR-P?!L'3S*B53?UG<I7 WV7N;A2L99F,0HE8OSW@4^'7&6-R@L_AG*
MY^S@-<JE/"3)]_SB>G[><_*(9"1G*G<1P']/<B2C*/<$<?RY<]K;WS-O>/CZ
MU?OOA7@0\Q!D<I1$_PKG:GG>\WIH+A?!)E+WR?,7N1/$<W^S),J*?]'SSM;I
MH=DF4\EJUQ@B6(7Q]O_@QZXC#AI@UM" [!J0MS:@NP:T$+J-K)!U%:A@>)8F
MSRC-K<%;_J+HFZ(UJ GC?!@G*H5/0VBGAJ/;KY/;F^NKB^GX"EU>W%Q\'8W1
MY,MX/)V@$_1M<H4^_?+KV4#!K?(&@]G.[>76+6EP>R5GGQ'%?40<0@W-1V]O
M3LK-!R!PKY+L59+"'S7[RW/A-%L',WG>@\F>R?1)]H9__0L6SF^C;_?WXZ]3
M=#&9@.93D]2M;W:\;Y/PCIR5NH'NNX':>A\%V=*D?>N0%P[SDO T)(QAC\&H
M/!W*JMMA3+#C:[M2Q&P?,;.-^&(V2S:QRJ"8S&3X%#Q$LH]BJ4PJMC<1A]$Q
M09B@%15U.PIBR8%=207?J^#6_9[$*H5:AH(LDRHS!<]K00F&?>968J^;,<)=
MTC  8A^ZL W].GZ2L4K2%U/0HM[CG @L>"5J@QTC'A6..6QW'[9K&_9=*M=!
M.$?R!RR%F<Q0$,]1HI8RA7J;IB"I92S<>K@>8ZY7454W@Z2AI$&4MQ?EV8J:
M)BJ(T&@7_T5C_%Y]+A$N/+\Z+ 8[CS*7NV8%_EZ!;S\L@":I>BF&0_ZY"=<
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
M<YGF!O#Y(DG4ZT7^*XK]KV:&_P=02P,$%     @ SH.!6/&B\#V/!0  W",
M !@   !X;"]W;W)K<VAE971S+W-H965T,RYX;6RUFEMOVS8<Q;\*H0W#!G26
MJ)OMS#:0."E:H)>@SK:'80^*S,1"=/$HVF[[Z4==(IHB39J"ZX=$L@__^I&6
MSA%IS0X%?BDW"!'P-4OS<FYM"-E>V789;U 6E:-BBW+ZR5.!LXC07?QLEUN,
MHG7=*$MMUW%".XN2W%K,ZO?N\6)6[$B:Y.@>@W*791'^=H/2XC"WH/7ZQI?D
M>4.J-^S%;!L]HQ4B?V[O,=VSNRKK)$-YF10YP.AI;EW#JZ4?5 UJQ5\).I1'
MVZ#JRF-1O%0[[]=SRZF(4(IB4I6(Z+\]6J(TK2I1CO_:HE9WS*KA\?9K];=U
MYVEG'J,2+8OT[V1--G-K8H$U>HIV*?E2'-ZAMD,U8%RD9?T7'!IM,+9 O"M)
MD;6-*4&6Y,W_Z&L[$$<-H'^B@=LV<,]MX+4-O+JC#5G=K=N(1(L9+@X 5VI:
MK=JHQZ9N37N3Y-77N"*8?IK0=F2Q_/QI]?G#^]OKA[M;<'/]X?K3\@ZLWMW=
M/:S K_<11CG9()+$4?H;^!W\#&Q0;NB[Y<PF].A5#3MNCW33',D]<:1;%(^
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
MP\>*H&$_0Q?',_-TEGG*=E%Q1/G-0)N+D2CK<K,*Y,AU5H"P(FS8RX_FPMJ
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
M$!NE)9H?=U<Z*)N.8Z^F$P(:G'\-!M!!#CA6ZT,A-K%<$O%J:J^H\ZPJUZ*
M#4M1P' .S4P;"@+7#8(N.R!VS/<]'O4,:$,/=! ??CA';N*WWI1B<P/DO<@-
MO&[-0RP!A;TPZDN0#6/00<CX 3F%P9#W,4/EV' Q96'$G*BK!C&DON?X?8/3
M< @=!)%CU=QW^$0]IO*I%P*I31Q3QIGC=#$0,:2A&[ 0E\4:-&$GUWTTL;>@
M!1.TN]K!&G)"F$\=/8C=- PHISVLQ1K08(.@4>W[OKMI0D-'4"$,7-_SNSD=
MLPS"@//6L!U&WT %8T?LV%/UHNM]NX0:I(_9\;&3804]IAC)VV$O-+3!1J&-
M7<[?%LFZ6FHKR(BEV5+/8*XN1187W_"11LC"CSCK+CK,CL+VJR<SL@9 V"@
M8NO3:E6^Q(6 6OXL4K4Q!PBH0H0Z/!:$43?[8X8LI+WG&ZRA$S8*G=@:5_(5
M%FY_F68VJTS=R/=#2QMBR%TWHEZ/MH9&V/"IA)5CL&6*QFZCPY0Z$8^L0H99
M^JX;AGT9OZ$,%OQ0BEG)/,Z38U+,R?2"IIB1O!WV0@,G;!0X^0(\^58?T\'4
ME+G>%M!9HN)*\?=65BNPZ4*TVQ D\9CC,6O($4/.*0WZYFO#+FP4=MF+K9=A
M7BFM, ;5A;$+"[TN+F-VH<-YCRK>H L?!5T>"I4(L=S-]D1EF<J);AV H<?@
M)UR:8-.<VZ 3A@YUG)X$RQO0X:.<J-R"QFH@$Z716L$1FF%>$'6K(687N2QB
M?H^2!GKX*"<IAP.IUU ']?L9YC9?PA[O4[9)U9L0I#[?W%>5AS1&\9O;!R^,
M.ZZU[STE_J%]+V_=P!F%A Z[!BQ7 G:[R^]/<YMP**UV_E87()8LBIR^\UW>
MP!#__HV:JIAN"O4LEQ#UXQM:E% !-K]02GW*&.\*L"V![CW/[V%VWI .'R2=
M2H#,DZ+:[P$,&#%HK#:/4-CKV<=\B*$Y]@IZ3HQXPRU\F%M,Z?^5/(HGF>>F
M;R'-OXFX0(.U^8-2!JS"NL':AF'$>\]7><,I?/AF2AVL, <X V':IQ?,=6%K
M;(6)''-T]!S&V9 $#P=Y:K'=;%)ARF:<DFNIDU0!)50H6Z'6#: 6N<WKQQJD
MRO';KB?3"EIT1O)VV",-;O#A>S:W>2G ;TG,61RJUD:"@'I='D*L(M8W7FZ#
M#>Y@[9Y_C5^%[@W-M>LUBYRP>WZ!F%'F]QQ>N$U-=^GQ<^E.Y=-J!MTVNPM8
M#3?[U'@YS.ONR?R S:FQO!WV3,,([F"-G9O;*+I]Q[*I$ =@#A?/Y#;#;_LS
MZVZ^&P:1!>*('?<XY)7.\,Y:S[9DHGBJ'OG1I#J=K9\9V7^[?ZSHLGJ8IO/]
M1WIV53\<U+BIGU7Z'!>0K#50^ I<.A\""*JH'_^I/Y1J4SU!\ZC*4F75V[6(
M 8:, ?R^4M!QNP_F ON'L.;_ E!+ P04    " #.@X%8C?HGB5L"  "Y!0
M&    'AL+W=O<FMS:&5E=',O<VAE970X+GAM;*V4;6_3,!#'OXH5$-HDUC0/
MZZJ21EI;T"8Q5*T,7B!>N,FUL>;8P;XTV[?'=M+03=V$$&\2GWW_G^\NN4L:
MJ>YU 8#DH>1"3[T"L9KXOLX***D>R J$.=E(55(TIMKZNE) <R<JN1\.AR._
MI$QX:>+VEBI-9(V<"5@JHNNRI.IQ!EPV4R_P]ANW;%N@W?#3I*);6 '>54ME
M++^GY*P$H9D41,%FZET&DWEL_9W#-P:-/E@3F\E:RGMK7.=3;V@# @X96@(U
MKQW,@7,+,F'\ZIA>?Z45'J[W]$\N=Y/+FFJ82_Z=Y5A,O;%'<MC0FN.M;*Z@
MR^?<\C+)M7N2IO6-S8U9K5&6G=C8)1/MFSYT=3@0!*,7!&$G")\+XA<$42>(
M7*)M9"ZM!46:)DHV1%EO0[,+5QNG-MDP8;_B"I4Y94:'Z9(^DITF2U#NCQ 9
MD 73&9>Z5D#.R-UJ04[>GB8^FLNLQ,\Z\*P%AR^ @Y#<2(&%)A]%#OE3@&^B
M[$,-]Z'.PE>)"\@&) K>DW 81D<"FO^]/'PEG*BO7.1XT3]5[L=7NN;P\UC=
M6FQ\'&N[=J(KFL'4,VVI0>W 2]^]"4;##\=R_D^P)Q6(^PK$K]'3+V;(7(M,
MED!./DNM3\DEHF+K&FWN!"594@4"CQ6A)9\[LITTN_0L",(XN C&B;\[S/"(
MYV@\BB_&4>_81N\?=$$):NN&@R:9K 6V?UF_V\^?2]=VS_9G9BZU8^0/IAUJ
M-U1MF="$P\8@AX,+$Y9J!T5KH*Q<KZTEFLYUR\+,5E#6P9QOI,2]82_HIW7Z
M&U!+ P04    " #.@X%8P:MXBD,"  "0!@  &    'AL+W=O<FMS:&5E=',O
M<VAE970Y+GAM;)V576^;,!2&_XKE2;M:RU<^IBP@)>VF15JG*.VVBVD7#AS
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
M YB)* P_^'%F,]HGFDFX00PJ+4T;PJQ*F@M,1G0 &D"/EG;\&_&M8]FF=F+
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
MCX@ZZ\\5V@J8%48%=BT8,(\B"96WL/6HP8PA$--S<!UX2KGOFW&\#O*&.+)
MZT,]2BMV+L\NVMIL2+M#"4\(!':V\.>\*?A?*4U*Z,OAQSC;ZVJ]F6A$63BX
MX XLE)Q%A<HB7H.Y;J+@@"W(9DAL5Z)MSKG'#A97)HW*FTY;BO[,_LJFY@MT
M@?S%'677V$U*4HW*"'J!;+NQG,.N*$(CEX_S@1)1%YFV9<'?>?WJ^3&%IT<>
M,-<8*DQ(&^F_$=UQ2VM,S.]<+N<,YR>.9&SQ5%W(3=ES^Z-4>LD]:27&Y"2(
MTOQXMCW6/S/Q0SPS1,P2 AE@J=D-Y-RX1M(WL19_A+").9;(E/BM;+5-JY9,
M[TP27;FOZNW3;\[+'VJ/5^8Q%AVB:Z(= -&U3-99?5[ EZ))]BO/ZZ@C[ [-
M)8@2N^1Q'QZK+Y[HO @LUGZ2H'1@Q[1!_H$474.!57MORXK]J-!CH\U;HTX5
M+#:S+'!A7Z$,IR_)LR;K]SN;V$L)O9(6&MV 3N/E.5X;>2!.74XRKRLGCU7_
M).^0^O"()<61?W%Z/#T]/G]^/'WN,H!78=^)"]Z7'7GE.>=X=X#7>-1%/#Y]
M \B7FI@#V-&,B_T0LIW@%D;'53@!$56M-+7"X[6ZD]H6:1G)*,@N.Y='GZ.<
MM.#,:-[W;3D;>N8D9+^B^33O/X.]E;JFLHV&TZ'(*N.%7[1S>#F41:S#M):_
MBR4[0QK$2M9G46H"PBW028Y.'=V1$$+XT2 H=&*HI9 L_0QQZ9"K):29;>;U
MN"\$AE#(Y_Y0,4,A;!;Q7$7XW>PPH*(B2FYE*U%?XK*%Q"Y7J)RBZ*0D^R,8
MT%HC33_)#G*Q.NRBC^X$ M%V?7!$>"[RKU)^D8!('&@2>GE7* OUS(Y^H+-\
MK2S\YRYF?8@GZ5/HD=N#G0?)\6SGTQ^93VR$02=.)P@(!8N>A' 2 ;FVBY&S
MN7?U)!W._ITOY2/SRUXCVY"_2;&\M-UN=Z=Y?6JF9Z0F2/9IJ\3<\9\RF4L9
M5RB7H7N41:EL"\G9^= -Z@>Q4"=5>+?!G=.YKD14T=3=R"1RZQD9>Z28-#43
M?$N\8. PDW'+(4 W9-!;FN,+.NXT0HBMOA:#L)C_6EH?D'CG\C?W8D#*928.
MX-#L>*.USYM(N_UK19@7IR\F?CH.M=YI"X5VC(;*;5Q@H=="@44\..X8$J[J
MT2FUE$8!<A.<JNFW&YMVZ#R0'4-'>6!Q\53A8\SC"HAZ/[1LTB8C>-):;UC*
MM?=#NJA"Z(YF05BR@NLN\ZCG)-*'D0^8->3(+9TW&;?+,?\G[F(8ZI?QY61F
MGD.C$;#QS$C@#1MD*5RQ0]NFVJ:"@LC-LD$,TW)YL=2#)QZ[P QE%ZN*F;?A
MO!7$@ZY@[K#OI-TLY!&23.J"#,8Q<>7&K)O"5IHRUDUXDTU)M8GEV+J6K8CX
M?70RX&UV-AJ[GR+>^+JIWF;GB/=<KX\T5X9B#]<RWF87W,G7S-EMVC=$U PW
MXAU<^BWV*GM^X@3JS]!>P!Q\Q"7$I]*3_!<V-,W>.]O@64,$;<&MN-+"\L8<
M39]F=\%[D]9T NSH[*FYO$JZ&NGA^5-YPO'%[;"!.F9^.[IXRAV8FCY2ED$
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
MDST66*ZUOI*0P]\9X+H]PC$6N1A"W.XN6Z+S(M';OU8YP78[7S4<?O&X8X@
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
M\=>#^"78AM_80^L%6_''E9(0Y_0 [I<6)\WTA3;H?\*Y^B]02P,$%     @
MSH.!6#2(']^R @  )P8  !D   !X;"]W;W)K<VAE971S+W-H965T,3(N>&UL
MC97?;]HP$,??^2M.Z=0G1$A"&:* !)1IE=8?@K9[F/;@) >)FMC,=IKVO]_9
M(8%J@/8 _G7W\?=LWV54"OFJ$D0-[WG&U=A)M-X.75=%">9,=<06.:VLA<R9
MIJ'<N&HKD<76*<]<O]OMNSE+N3,9V;E'.1F)0F<IQT<)JLAS)C]FF(ER['A.
M/;%,-XDV$^YDM&4;7*%^WCY*&KD-)4YSY"H5'"2NQ\[4&\YZQMX:O*18JH,^
MF$A"(5[-X#8>.UTC"#.,M"$P:MYPCEEF0"3CSX[I-%L:Q\-^3?]F8Z=80J9P
M+K*?::R3L3-P(,8U*S*]%.5WW,5S97B1R)3]A[*R]0,'HD)ID>^<24&>\JIE
M[[MS.' 8=$\X^#L'W^JN-K(J;YAFDY$4)4AC3333L:%:;Q*7<G,I*RUI-24_
M/9G.YP_/]T\K6"[FB]N7Z>S'8N1J IME-]I!9A7$/P'Q?+@37"<*%CS&^#/
M)46-++^6-?//$F\PZD#@M<'O^L$97M"$&5A><(*WQ C3-Q9FJ.#7-%1:TG/X
M?2S2BM,[SC$I,E1;%N'8H1Q0*-_0F5Q>>/WN]1F5O49E[QS]?R_C+.2XQ/N'
MIP4$<'DQ\#WO&HYL!-,H$@77BE*M/BLH42(P!6N14?8J8!KH9C /4;;JVP'&
M8]/QAZT5E8RX(#^QIG3[!]>J?>W-'@Y:%F0@K6,ROH#7[O5]^@74#]H];]#V
M^T%K:E0Q'B$)E!"+(M3K(MMO;</UK^MVS]X_AS;<4^4[L0$\)>8 2CH!+BCY
M8\KW4 .^4TE4"'$A4[X!G2!\(). YO%_#O+3 77@V!MQ#Y(W1[FQ)4J!55KE
M<3/;5,%IE?Q[\ZJ$WC&Y2;F"#-?DVNU\O7) 5F6I&FBQM:4@%)H*B^TF5,E1
M&@-:7PNAZX'9H/DV3/X"4$L#!!0    ( ,Z#@5B4KF%2\P,  $\)   9
M>&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;)56;6_;-A#^KE]Q4(.B!8A(I&19
M=FP#2>-T 9;4R\N&8=@'1J)MK9+HDE2<[M?O2-F*/3A&^\6^DWC//<_=D=1H
M+=57O13"P$M5UGKL+XU9#8- 9TM1<7TJ5Z+&-W.I*F[058M KY3@N0NJRH"%
M81)4O*C]R<@]FZG)2#:F+&HQ4Z";JN+J^X4HY7KL4W_[X*Y8+(U]$$Q&*[X0
M]\(\KF8*O:!#R8M*U+J0-2@Q'_OG='@1V_5NP>^%6.L=&ZR2)RF_6N<Z'_NA
M)21*D1F+P/'O67P296F!D,:W#:;?I;2!N_86_<II1RU/7(M/LORCR,UR[*<^
MY&+.F]+<R?4O8J.G9_$R66KW"^MV;8P9LT8;66V"T:^*NOWG+YLZ[ 2DX1L!
M;!/ '.\VD6-YR0V?C)1<@[*K$<T:3JJ+1G)%;9MR;Q2^+3#.3&9W7V;3NX<_
MX?SV$J:_/5[/;J:W#Z/ (+9=$60;G(L6A[V!0QG<R-HL-4SK7.3[  &2ZIBQ
M+;,+=A3Q4F2G$%$"+&31$;RH4QHYO.@MI0HG69GO!&8EKPWP.H?IMZ98X8@9
M^.O\21N%,_+W(>TM<GP8V>Z;H5[Q3(Q]W!A:J&?A3]Z_HTEX=H1WW/&.CZ'_
M1(>.XAQF>?OE80HQO'^7,DK/X' N>%@*G+E_I(*LY%H+#7(.JTT]72%%5TBN
M!'#MS66)^UT#-X"-%-634%TS700:;.C=XR&3-Z5X&]#;"]]U/(=E<;RK1M6%
M:3#U>UZMSN"J>+&>AA.@$2,A3:U%>X1%J?<@<<_\K_V4L $E23]"BR:,])+4
M^U7@;E_*,H?K"KD]"[M2 QND) QC8"PE<1A[U[41JN8E/&H!]W)NUK8$44I)
M'%.@84A83+VCTT?@LY(:H0D-(T*C!%DD84+B'O7.LZRIFI(;D:-Z[%Q6<'>>
M?: DZB<D80/X"!\&: X2"A]W,KW*L]FVU C4>-:?0)\EI!?VT4(($@_"'ZKT
M8;69Q%-:6XK81X/3TK:_J!?#-R).N@J==#7:E9KO2XVP++$3VNN3,&*H\R#N
M5AR+4^PH0RN." L'/Z1MK[S3%[SWM!AV]=P?2P+B)2N;'"5"L672(!.]HQ '
M+DD32P='*AWTO$X^KZ0RQ;]M*M&F@C0F$4O!*8S<INO*" 5.+.B=W2*T*2I7
MJGGC)G^O8EM(7-@1.K05]W?@3V/:XL6;#@YZS+H]L#/<IXEU$EO^A,7>:T<N
M#T!ZVTJQI(\X SAT; 8[EUPEU,)=Y1I'KZE->]]U3[NOA?/VDGQ=WGYJW'"U
M*&H-I9AC:'C:[_F@VNN[=8Q<N2OS21J\@)VYQ"\>H>P"?#^7TFP=FZ#[AIK\
M!U!+ P04    " #.@X%8O^^&?;L"  #4!0  &0   'AL+W=O<FMS:&5E=',O
M<VAE970Q-"YX;6R55%%OVD ,?N=76&E5K5+4)!>@T )2&-U63>T0L.UAVL.1
M&(B:W+&[2^GVZ^>[ *,21=I+8M_9GS_;9_<V4CWI%:*!E[(0NN^MC%G?!(%.
M5UAR?277*.AF(57)#:EJ&>BU0IXYI[((6!BV@Y+GPAOTW-E8#7JR,D4N<*Q
M5V7)U>\A%G+3]R)O=S#)ERMC#X)!;\V7.$7S=3U6I 5[E"PO4>A<"E"XZ'M)
M=#-L6GMG\"W'C3Z0P68RE_+)*O=9WPLM(2PP-1:!T^\9WV-16""B\6N+Z>U#
M6L=#>8?^P>5.N<RYQO>R^)YG9M7W.AYDN.!5829R\PFW^;0L7BH+[;ZPJ6U;
ML0=II8TLM\[$H,Q%_><OVSH<.'3"-QS8UH$YWG4@QW+$#1_TE-R LM:$9@67
MJO,F<KFP39D:1;<Y^9G!.)G=/<ZFD#R.8#9)1G</R>3SM!<8PK860;K%&=8X
M[ V<B,&#%&:EX4YDF+T&"(C4GAG;,1NRDX@C3*\@CGQ@(8M/X,7[3&.'%[^!
M]U'*;),7!7"1P;TP7"SS>8&0:(U&PRC7:2%UI1!^)'-M%+V7G\?J4$=I'H]B
M9^A&KWF*?8^&1*-Z1F]P<1:UP]L3.33W.31/H?]'MT[B'&?Y^&5V!RVX..NP
M*+J%X[$:4UH+645UDPM8<X.":F<K2@7+:%_0+FE0Y["<HW+=.U0:MI6VGZPQ
MWKJ>0]QM^<UK9B76]J-FJY&D:556!5EDD)12F?P/=R/\CK7;?APSN"2QU?:;
M].HNMU ^"%IAYQ"Q+H&$)+6[_G4<OT; %]IF&B$7[EDYYI8/;+CETO6[+(0H
M]MN=#ASK5W P:26JI=LG&E)9"5,/W?YTO[*2>E+_F=?[[H&K92XT%+@@U_#J
MNN6!JG=(K1BY=G,[EX:V@!-7M'9160.Z7TAI=HH-L%_D@[]02P,$%     @
MSH.!6/>\YEDY P  2@<  !D   !X;"]W;W)K<VAE971S+W-H965T,34N>&UL
ME551;]LX#'[WKR"\P[ !1FW+CN.V28"TR; #KFO09-O#X1X4FXZ-V59.DIO>
M_?I1=I(Z6!I@+S8ID1\_DA(UV@GY0^6(&EZJLE9C.]=Z>^.Z*LFQXNI*;+&F
MG4S(BFM2Y<956XD\;9VJTF6>%[D5+VI[,FK7%G(R$HTNBQH7$E1355S^=X>E
MV(UMWSXL/!6;7)L%=S+:\@TN47_=+B1I[A$E+2JL52%JD)B-[:E_<Q<:^];@
M6X$[U9/!9+(6XH=1_DS'MF<(88F)-@B<?L]XCV5I@(C&OWM,^QC2./;E _JG
M-G?*9<T5WHOR>Y'J?&S'-J28\:;43V+W&??Y# Q>(DK5?F'7V0:1#4FCM*CV
MSL2@*NKNSU_V=>@YQ-X;#FSOP%K>7:"6Y8QK/AE)L0-IK G-"&VJK3>1*VK3
ME*66M%N0GYXL'S^MOD^?YC";?YO_];AXF']9P?WC<K4<N9KPC96;[+'N.BSV
M!I;/X$'4.E<PKU-,3P%<(G9DQP[L[MA%Q!DF5Q#X#C"/!1?P@F.V08L7O('W
MA JY3'+@=0HS?*8SN:43IN'OZ5II24?DGW-I=Z#A>5!S;6[4EB<XMNE>*)3/
M:$_>O_,C[_8"Y?!(.;R$_IL-NHAUGNF7Q]4<(GC_+F:^?PN'>-8O\:PE382T
M*1%$!DID>L<ET@UXK6(BE%86-0VK-<JV<7W%,ETTK636\N#>;\(?,&2^$WC7
M) 6A[PSCT+H7-36FZ:YP4<-"B@U15^"'L1,,_8XWN[6F2=)43<DUIL K(77Q
M/V^=/C _<N*0P4?X,(R<P3""CV?C.U"C(1$-F!,',4DL&CC,BV':Q[N8O*%H
MLK3, 3.9PHXK0O)#SV'1$/R.P"I'R$1)$[&H-U HX*!ZQ46EBZK-)&MT0W%.
M$L(7FLCJM M<GU2ZY7!STK#?QC3="MLB7#OQ=6#4 3"J#;7&*!'X@>=$7FB]
MEFR&=*Z2XM="F>(<:@/]VI!S'#H!BV$P=+P@@'-7QNW-MPKEIIWBBD";6G>C
M[KAZ?"BFW7Q\->]>F0<N-T6MH,2,7+VKX< &V4WN3M%BVT[+M= T>ULQI\<.
MI3&@_4P(?5!,@./S.?D)4$L#!!0    ( ,Z#@5CT<QZ_)00  *<*   9
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
M#TPH-C"3\@V[HWLE,3Q#A0W8@"8=HE^Y$D1#;8CI$K/#2N)#,7K3$$\S'6\
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
MN!8)4"9FTKQ6P*]8UO  \!BK %< _,(2!T@U:LGW)A=_D8^@'9H1YD41ORN
MN)!)L05^0T"':BWT6I9J762)*@.YW9;%O<R$! Z6XOLZ PI3GX(_3X^2A%,2
M#&LI"0FGM$)4%PY--4HK5CA3O46A1>%P.,3_Q!]5KDK@XX/2<9EN"7-AF..
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
MNYB&4Y@BBF;A<'(IHL'L2EQ<A!#/6]YA1L_"JP@JX2$\,X5)HK'XSER_,C>
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
MR.86W3QH49F;ZY70> \VRR5GV-&T ;_/A=#= RGH_Y6Q_R]02P,$%     @
MSH.!6"R8K!,V P  10<  !D   !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL
ME57;;A,Q$'WO5XR6BT JV4M"J9J+U#1%5((T*@4>$ _.9G;7JB^+[30-7\_8
MFVQ3:"-X2-8>GSES9FR/!RMM;FR%Z.!."F6'4>5<?1+'-J]0,MO1-2I:*;21
MS-'4E+&M#;)%<)(BSI+D*):,JV@T"+:9&0WTT@FN<&; +J5D9CU&H5?#*(VV
MABM>5LX;XM&@9B5^1O>EGAF:Q2W+@DM4EFL%!HMA=)J>C'L>'P!?.:[LSAA\
M)G.M;_SD8C&,$B\(!>;.,S#ZW.(9"N&)2,;/#6?4AO2.N^,M^_N0.^4R9Q;/
MM/C&%ZX:1L<1++!@2^&N].H#;O)YZ_ER+6SXAU6#[5+$?&F=EAMGFDNNFB^[
MV]1AQ^$X><(AVSAD07<3**B<,,=& Z-78#R:V/P@I!J\21Q7?E,^.T.KG/S<
M:'+^_F)Z/H&SR^GUU<7XR_7%Y11F'T^G@]@1O0?%^89JW%!E3U"E&7S2RE46
MSM4"%P\)8M+5BLNVXL;97L8)YAWHIH>0)5EW#U^W3;8;^+I/\%VAXP;I2#D8
MH\*".PO?3^?6&3H</Q[+N.'K/<[G+\R)K5F.PXANA$5SB]'HY;/T*.GO4=MK
MU?;VL?_?UNRE>ESH]/+Z'-(>O'QVG*5I'YZ,!]<5PIF6-5-KJ)@%!KTD?77S
M^HVY+ZAEMUR5%FK!%+QR%1YXWBSI-U"8D3U8TOYKR/4M&H(#$P)0\)+/!0+*
M6N@UHNV$B#N.'J=7]AX!3ON[AX:TU-J$"ZX+H+"<3$HMF: @DEJ797[Q\("I
MA5]N\Y#,_UQ>_<5P'R54YEV?F)0S?+[T( LE'1U#@M; "D<*O$O!C:4:\#N0
MS14@*E]FGF,')LN0JZ_)&ID!]-<#Z'"CG)/_]H ?_J&/M!$L39(76V%-E%Z8
M_U6U!_D2G#E8T5ZUVHF+BN;:PA[XPG: >ELP_KLR@[DN%?]%2+SS$4D8D03!
M/L^<V>J/DCT(W.RHTX[1,2T/GD.6'AUVNQD\=F?BG=8FT92A@?NLELHU7:ZU
MMF_$:=,:[^'- _.)F9*3&($%N2:==V\C,$W3;B9.UZ%1SK6CMAN&%;US:#R
MU@NMW7;B [0OY^@W4$L#!!0    ( ,Z#@5@631>.4 (  #L%   9    >&PO
M=V]R:W-H965T<R]S:&5E=#(T+GAM;)54;6_:,!#^OE]Q2J5^FL@+]$44(@7*
MM$IKBR#;-$W[8)*#6$WLS#Z:]M_/=B!C$B#M2^P[WSU^[N+G1HU4+[I )'BK
M2J''7D%4#WU?9P563/=DC<*<K*6J&!E3;7Q=*V2Y2ZI*/PJ":[]B7'CQR/GF
M*A[)+95<X%R!WE854^\3+&4S]D)O[UCP34'6X<>CFFUPB?2UGBMC^1U*SBL4
MFDL!"M=C+PF'DX&-=P'?.#;Z8 ^VDI64+]9XR,=>8 EAB1E9!&:65YQB65H@
M0^/W#M/KKK2)A_L]^B=7NZEEQ31.9?F=YU2,O5L/<ERS;4D+V7S&73U7%B^3
MI79?:-K8O@G.MIIDM4LV#"HNVI6][?IPD' ;G$B(=@F1X]U>Y%C>,V+Q2,D&
ME(TV:';C2G79AAP7]J<L29E3;O(H7LR^).GL'N;)(OT!Z2)Y6B;3].'Y:3GR
MR>#;*#_;84U:K.@$5AC!HQ14:)B)'/-_ 7Q#K&,7[=E-HK.(]YCUH!]^A"B(
M^F?P^EVU?8?7/U4MEHPPASE3] ZI8D(S]SHT_$Q6FI2Q?ATKO(4='(>UPAGJ
MFF4X]HPR-*I7].++B_ ZN#M#>M"1'IQ#_\]?=!;K.-.GYW0&X15<7MQ&87@'
MIR^$M$"%T-B/D$:4;3MKUTXZ;*<9%T %0HV*RUQ;_5HA8OZ!"W/ K:>6BGIP
MK$/^P8.N4&V<;#5D<BNH?=N=MYL,22N(O^'M6'ED:L,-H1+7)C7HW5QYH%JI
MM@;)VLEC)<F(S6T+,]U0V0!SOI:2]H:]H)N7\1]02P,$%     @ SH.!6)=%
M\A@G!   ]@@  !D   !X;"]W;W)K<VAE971S+W-H965T,C4N>&ULC5;O;]LV
M$/WNO^+@#D4+>+8DY]<2VX#C)EB'=0GJ=/M,2R>+B$2J)!77^^OW2,F.LR7&
M ,,2R;O'=^^./$TVVCS:@MG1CZI4=MHOG*LO1R.;%EP).]0U*ZSDVE3"86C6
M(UL;%EEPJLI1$D5GHTI(U9]-PMR]F4UTXTJI^-Z0;:I*F.TUEWHS[<?]W<17
MN2Z<GQC-)K58\Y+=M_K>8#3:HV2R8F6E5F0XG_;G\>7UB;</!G]*WMB#=_*1
MK+1^](//V;0?>4)<<NH\@L#CB1=<EAX(-+YWF/W]EM[Q\'V'?AMB1RPK87FA
MR[]DYHII_Z)/&>>B*=U7O?F5NWA./5ZJ2QO^:=/:8IK2QCI==<Y@4$G5/L6/
M3H<#AXOH#8>D<T@"[W:CP/*3<&(V,7I#QEL#S;^$4(,WR$GED[)T!JL2?FZV
MG/]^0W>W-%\N;QZ6DY$#IE\9I9W_=>N?O.$?)_1%*U=8NE$99R\!1B"S9Y3L
M&%TG1Q$_<3JD<3R@)$K&1_#&^PC' 6_\5H2B9+K+:6XM._M:A*W_R>O^_E1<
MVEJD/.VC["V;)^[/WK^+SZ*K(^Q.]NQ.CJ'_#_V/^K_.[H^[AQN*S^C]NXLD
MCJ_HY29TI^BW1C$EO[0B#\@53 M=U4)M*<6S9,<9"7)&*"O"^>EM"C:\VI)T
M9'6)U: G#F8IO+'36+'T63E>FS"ST,:T9T^4-&]0R2(<Q.76.J[H@US,EQ]I
MU5B$9"WJWA78$J,U$M:6/ILA$ .]7#?&%;WOC3".#>G<4T]>4@]GO>6BM ,U
MA5L!D$U=:^,0F4) J:.L86_C74M92>^BA&L,>U@_NR,UI >,#E2@C;#/"O4Z
MSJZ0)ONY!K,M7+<MO4TAT^*07LC&^94E?Y7"9E%(SNE6*J%2"8GN\ERFF)<6
MD)GTVFG$OQ0RV[GHSB3#E(_0;RE364/OGFQU.B2+WXH+4>:[N#HF;5A= KLE
MGXV#9"#7;9JQ,^A NB?&7JN2>[71E;16FZWGP+O$U48J3Z4D4>E&.0_\$ZKP
M=!!%$<411<,H&M-I&(<Y3P):5J")9*>/5#<F+7#%0F6#,$!.&.X8..U$V0/F
M 0 0XX"R*P!HIM=*_AV*=XV6Y"6P_@* XS[>'FB=/E/01JZEKU$$A<+(I$T#
M?^1AQ:A&=([4-("4RFG(C/)CBV4%[O"&+JWP;*J=F%Z75N2@$&BQ?!(0+]2/
M9VDRS]'70HF^:#W/)=<X%RLVO7'4'LS+WA)-.&M:_O^"ZN&B#.;[R[*W>,[2
M?S;>IZ+W32%!L/(J[8/]$,>#Y#2BC\= !J3PF>#5&P_.8?S:_3<ZZ$4HV77H
MN/[,8)>V+>UG]TU]WO:R9_/VB^"+,$B,I9)SN$;#<_10TW;9=N!T'3K;2CM<
M%N&UP(<)&V^ ]5R#?S?P&^P_=6;_ %!+ P04    " #.@X%8[%0D1)(%   T
M#0  &0   'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6R-5\MRVS84W?,K,,JT
MD\QH))*6\_)CQG;4:19)W"A.%YTN0!(4T8 $#8"2]?<]%R!EJ9;<+$P3(.[!
MN><^ )VOM?EA*R$<>ZA58R]&E7/M^^G4YI6HN9WH5C3X4FI3<X>A64YM:P0O
MO%&MIFD<OY[67#:CRW,_=VLNSW7GE&S$K6&VJVMN-M="Z?7%*!D-$U_ELG(T
M,;T\;_E2+(2[:V\-1M,M2B%KT5BI&V9$>3&Z2MY?SVB]7_!=BK7=>6?D2:;U
M#QI\+"Y&,1$22N2.$#C^K<2-4(J 0..^QQQMMR3#W?<!_3?O.WS)N!4W6OTI
M"U==C-Z.6"%*WBGW5:]_%[T_IX27:V7]DZW#VO3=B.6==;KNC<&@EDWXSQ]Z
M'78,WL9'#-+>(/6\PT:>Y0?N^.6YT6MF:#70Z,6[ZJU!3C84E(4S^"IAYRX7
M=]>+^1]W\\_?V/P[GHOSJ0,L?9SF/<1U@$B/0"0I^Z0;5UDV;PI1[ -,P6=+
M*AU(7:?/(GX0^82=)&.6QNG),W@G6R=//-[),2>[S(K[3C2.S5=X6O;756:=
M04K\?<C?@#8[C$9E\MZV/!<7(]2!%68E1I>_ODA>QV?/<)UMN<Z>0_^Y@#P+
M<9C@YR_?YBQYPWY]\39-DC/V9!_VI6&?N,DKEJ9>^=F8N4JP&UVWO-FP7#=%
MESM11)RU1JZX$ZQ5V*4F7759"B.;Y9BAXD!HR3@LZ@S4"N:TXPI+V.LTCM)Q
MDIY&R3B.X^AD$M/$F]FI'WYL:)>F+]BU=)5G<-N!%2J/72V-\-OM,8NXLIIA
M5ACL)1NGL?=7L90488_D6XU]-'\*;>R$WFW'\14 ].U9B'UM;,65BDJIQ"/T
M8GX#'F87Q#J(Y@GD>N7E\BL1(P[+;/,?2J08S0 =2V@$16N/H_,?P=-U)?-J
M?U6T #3>/C#>%*P?S-DMVITP)-'"FV,UJ0T>3F9*3!BJY!](3^[GF$1#]S&7
M1-WN^UNC,;&<=XA)<."0DQ& ,H$6F2M.VPJDB._!Y.F[F!5\8QDO$3:6*VU)
MC9?:P"V/*58AK:!AV2F%/5;4XWN1(.Z8WI,TX+R:L&^'0Q8]1AW>D%>V[ZLX
M@X#J*P3SO9=K;@QR )*-&1\LK5=2HKO5C2QE'O!-2 GZI#,EEP%B"%K+#:%,
MV!W,3/03><RD!9_[3AI?,JS2JH#W-5H[:0-<'V*:IN3@+NC$C<(^#C5))UR.
M0BL0 *C3.=*RT;V4"K/$@S=;U0ZHGYSVGYZ&H8_ X)_1#YN=C!X"(_+.2/+<
M"S-_@,?-TOM82^N/\I=8%U$;2N,SQ-&_)6>O$,(KBVRQN9$9%,CHPA $ LEZ
M*^S1A%:REG 9(=FFM532;5B'>*H]I8W(!1+11CN*,M["IQ7T(X)L($C0_8*K
M?L' >,(^EGNPA0:Q1D.OS)>/IWL 8(A=*0T"UP=X'!'[ RFPR[%?:RDN2-]2
M=Y@+A^^CEP>W!')@)8I0*T^S$7#FJ+RARQ*81(RP3^_#X/M:HDCA^SATP*&#
MB(=<M'UMT<G J,*M[<1^+\/L31B'6,ZA 5C[VGO)*2U*?Y+(YD@EO6*P!0I.
M)CPA'>X0HLZ@0'^/F 7*6"J=\MFY82WJ"&9T8.1>]&.M%H8HF\<&AEUR$<$\
M&#  >DE"R/'7]#GH$]ZO_M_T)=EP:_:+8&S[NML[$HYV.7:@R_E8$0$;46"5
MA(O4&@H4>(T+-Y+HOD-FP/WD%[1TY62+5E(,I<R7P%S2,6]Q?T)5MN$>76ND
M&OJ;+,;^B1:$(\AGX7B_;0Q)4.#7 EU2;$1B41^@)#QT69KNW&1K89;^ODX%
MC2W#I78[N_U)<!5NPH_+P^\)W&66)(,2)4SCR9O346C9P\#IUM^+,^UP&OC7
M"D2%H07X7FKMA@%ML/VA=/DO4$L#!!0    ( ,Z#@5CX@+K?ERD  %B"   9
M    >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;+U]:V_;2)/N=_Z*1G;/K@/(
MCB4[]YD GEQF?9 ;[&1>'!R<#Y38DOB&(O7R8D?SZT\]5=474I0R$RP6&$PL
MJ=E=75U=]RK^<E_5WYJUM:WYOBG*YM<'Z[;=OGCTJ%FL[29MSJJM+>F7955O
MTI8^UJM'S;:V:<8/;8I'L_/S)X\V:5X^>/4+?_>Y?O5+U;5%7MK/M6FZS2:M
M=[_9HKK_]<'T@?OB)E^M6WSQZ-4OVW1E;VW[=?NYID^/_"Q9OK%EDU>EJ>WR
MUP=7TQ>_S1[C 1[Q1V[OF^AO@ZW,J^H;/EQGOSXX!T2VL(L64Z3TSYU];8L"
M,Q$<_]))'_@U\6#\MYO]'6^>-C-/&_NZ*OZ19^WZUP?/'IC,+M.N:&^J^_^R
MNB$&<%$5#?_?W,O8I\\?F$77M-5&'R8(-GDI_Z;?%1'1 \_.#SPPTP=F#+<L
MQ%"^2=OTU2]U=6]JC*;9\ =OE9\FX/(2IW+;UO1K3L^UKSY>??EZ\]9\>F<^
M?7Y[<_7E^M/'6W/U\8VY_?KAP]7-_\$OM]>_?[Q^=_WZZN,7<_7Z]:>O'[]<
M?_S=?/[T_OKU]=M;<_*Y*O)%;IN'OSQJ"2;,_&BAZ_\FZ\\.K#^=F0]5V:X;
M\[;,;-:?X!%MQN]HYG;TV^SHC&_LXLQ<3"=F=CZ[.#+?A<?0!<]W<6"^J\6B
MZLHV+U?&[=/\WZMYT]9$4?]O;,<RW^7X?+AF+YIMNK"_/J![U-CZSCYX]1__
M-GUR_O((M)<>VLMCL[_ZF+9=;4VU-)^VMDY!^<T8C$=G&8=Q;&KSIJL:\\4N
MUF555"O@YO>ZZK83<UW2,9RT:VO^X]^>S6;G+U]7FVU:[OC3].7#2=*N:>1J
M;?*V,97,2#ANNGF39WE:TUR3_>G=Q#HI?G<SFK3,S)>ZLW]T]N+)^6!D^,&/
M/Z'+P]SASA:[Y BH)F],:A;RK6G7:6N:K5WD:9'_23O.2[J1BS7AT-SES*X
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
M>R&#E0S=H$Q&XSZ0/"1FPK^-\?6C"X[S];\#1;(/18_WZ&4T43205/\R@\)
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
MU)\A?XXI^(132QY*+=5?.-!^5-?I(IXTY*(MN81(<D=?F)/IP^1+L&6DI(X
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
MHW\/%%J!OF\Y5T=!!SC]S4S^ U!+ P04    " #.@X%8_P#27X@#  !E"
M&0   'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6RE5FV/XC80_LZO&.7:$RNE
M)'$"9/< B7VINE)WNSKVKJVJ?C#) -8E-K6=A?WW'2>0LA70E?HEL9UGGGG&
M,_9DM%'ZFUDA6MB6A31C;V7M^BH(3+;"DIN>6J.D+PNE2VYIJI>!66OD>6U4
M%@$+PT%0<B&]R:A>>]*3D:IL(20^:3!567+]>HV%VHR]R-LO?!;+E74+P62T
MYDN<H?VR?M(T"UJ67)0HC5 2-"[&WC2ZNNX[? WX*G!C#L;@(IDK]<U-[O.Q
M%SI!6&!F'0.GUPO>8%$X(I+QUX[3:UTZP\/QGOW'.G:*9<X-WJCB5Y';U=A+
M/<AQP:O"?E:;GW 73RTP4X6IG[#984,/LLI85>Z,24$I9//FV]T^O,> [0Q8
MK;MQ5*N\Y99/1EIM0#LTL;E!'6IM3>*$=$F964U?!=G9R?WCS2\/=_ \_>UN
M!MUG/B_07(P"2]0.$&0[FNN&AIV@B1@\*&E7!NYDCOE;@H TM<+87M@U.\MX
MBUD/XL@'%K+X#%_<!AK7?/&I0&6F2H1GOH5;8;)"F4HC_#&=&ZNI-/X\%G/#
MF!QG=,?ERJQYAF./SH-!_8+>Y..':!!^.J,W:?4FY]@G,SI^>54@J 7D8K%
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
ML@@/W\VOFNYD<N?%835'OM!'<D'[9%W(ZMS:W&U._</JL/NL7GTR7#&^(")
MAG,R)<>TBGEU#*\N9+G21]]9*>D@K<4E?;D@5PKT?%Z6<GNA'#3?0H-_ 5!+
M P04    " #.@X%8N-0=5%$"  !"!0  &0   'AL+W=O<FMS:&5E=',O<VAE
M970S-RYX;6Q]5%U/VS 4?>=77&73!%)%/MH"8FVDE@]MTA"(P/;L)C>-16QG
MMMNR_?I=.R'KII*7V-<^Y_A<Q_?.=DJ_F K1PJNHI9D'E;7-91B:O$+!S*EJ
M4-).J;1@ED*]#DVCD16>).HPB:*S4# N@W3FUQYT.E,;6W.)#QK,1@BF?RVQ
M5KMY$ =O"X]\75FW$*:SAJTQ0_O</&B*PEZEX *EX4J"QG(>+.++Y<3A/> [
MQYW9FX/+9*74BPN^%O,@<H:PQMPZ!4;#%J^PKIT0V?C9:0;]D8ZX/W]3O_6Y
M4RXK9O!*U3]X8:MY<!% @27;U/91[;Y@E\_4Z>6J-OX+NQ:;$#C?&*M$1R8'
M@LMV9*_=/>P1+J)W"$E'2+SO]B#O\II9ELZTVH%V:%)S$Y^J9Y,Y+MU/R:RF
M74X\FV:+;S=P?PN+++MYRN#XB:UJ-">ST)*X@X1Y)[1LA9)WA.($[I2TE8$;
M66#QKT!(KGIKR9NU93*H>(WY*8SC$211,A[0&_>ICKW>^+U468UP7\+"&+3F
M4(8M?W*8[\KCTC0LQWE []^@WF*0?OH0GT6?!]Q->G>3(?4THW(K-N10E2"5
M17KQ.?*M^QV'K Z*';8Z<,(1W36*%>K^OH^NE-RBMIQV_T?#1XC/IJ,HBHZ>
M)1.*4+^Q@(*;7&VDA>,X'B73"$Z&1$8@J>60TG0\.B?PH2L,]]ZU0+WVU6O
MG](^\7ZU;Q"+MB[^PMON<L?TFDL#-99$C4[/IP'HMF+;P*K&5\E*6:HY/ZVH
MR:%V -HO%?GO G= WS;3/U!+ P04    " #.@X%8&RHMU.X'  #:/@  &0
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
MO,YK+HY[T#Y,Z_Y"Y9IEBG!8(;+=>H\4LFR'9:!%;CO*0FCL3W:XP3\(2).
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
M!ZXV3FVR(=R^Q9F69I<8G<XGQ<W9]<T,%==C=#,MQF=7Q?3[#.V-06-"%3I
M$ZR!:X4PKY"6N#*GR)RPSYV=7U? YB#OS-+M;(SV/GX>^-JPV2?X9<-Q6G-$
MKW",H3Q$<;B/HB"*>^2C]\NCIW+?5*0M2]26)7)^\2M^YX03#0>7YHA5Z()K
MS)=D3@$52H'-^-+$HPL-3-WUY5J;)_WF]L,\46M<PM S7YX"N04O__0AS(*O
M?9G_)[,G=8C;.L1ON>?-*^[+L1:F3FA[Q3:/C]/DR%1_VZ7O"8NR,$G;L"=<
M2<N5O,E5E.6&;:BAJU#!A-3D+[9MH0^T=LHZ! =1EL7Q<]*^N#1+PJ@?-6U1
MTW>4<!]QT'UTZ8OZA-%QF 3/X%Z&9<='<?P,S>\T MN$K[!<$JX0A871!8='
MQD#6C:V>:+%VO6$NM.DT;K@R_P*0-L#L+X30CQ/;;MJ_2_X/4$L#!!0    (
M ,Z#@5@>2[+3= (  +D%   9    >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM
M;*U4WV_3,!#^5ZR T";!\JLK6TDCI4T'$VI5M1L\(![<Y-I8<^Q@N\W@K\=V
MTM"-=N*!E\1WON^[[RZYBVHN'F0!H-!C29D<.H52U<!U959 B>4%KX#IFS47
M)5;:%!M75@)P;D$E=0//Z[LE)LR)(^N;BSCB6T4)@[E <EN66/P< >7UT/&=
MO6-!-H4R#C>.*KR!):C[:BZTY78L.2F!2<(9$K >.HD_&/=,O WX0J"6!V=D
M*EEQ_F",VWSH>$804,B48<#ZM8,Q4&J(M(P?+:?3I33 P_.>_<;6KFM980EC
M3K^27!5#Y\I!.:SQEJH%KS]!6\^EX<LXE?:)ZB;V,G10MI6*ERU8*R@):][X
ML>W# <#OGP $+2!X#NB= (0M(+2%-LIL62E6.(X$KY$PT9K-'&QO+%I70YCY
MBDLE]"W1.!7/D[O)[&Z)DEF*[A9).IDFB\]+=):"PH1*-,-"8-/I<_0.W2]3
M=/;Z/'*5SFSP;M9F&359@A-9_ !-.5.%1!.60_Z4P-62.]W!7O<H>)$QA>P"
MA?Y;%'A!>$30^-_AP0MRPJZ-H>4+3_!]Y#RO":4(LQS=,H79AJPHH$1*4!*E
M1&:4RZT ]"U9227TW_O]6!N;++WC6<Q$#V2%,Q@Z>F0EB!TX\9M7?M_[<*P%
M_XGL24-Z74-Z+[''2<F%(K^PG55XU$M'PK&"&Y9+RV(VSBZ^O@Z\R-T=%O)W
MD!_VKZZZJ$:A>S %)8B-70X297S+5/-C==YN_R1V[)[Y1WHO-6OD#TVSU*98
M; B3B,):4WH7[[4FT2R*QE"\LK.VXDI/KCT6>K>", 'Z?LVYVALF0;>MX]]0
M2P,$%     @ SH.!6 &H;&.U @  2 <  !D   !X;"]W;W)K<VAE971S+W-H
M965T-#8N>&ULK55=;YLP%/TK%INF5FK+-V$=04J35)NTME'HQ\.T!P=N BI@
M9IO0[=?/!HIH0J).V@OXXGN.S[DVUUY%Z#.+ 3AZR=*<C968\^)255D80X;9
M!2D@%S-K0C/,14@W*BLHX*@&9:EJ:)JC9CC)%=^KORVH[Y&2ITD."XI8F668
M_KZ"E%1C15=>/RR33<SE!]7W"KR! /A#L: B4CN6*,D@9PG)$87U6)GHEU-'
MYM<)CPE4K#=&TLF*D&<9?(O&BB8%00HAEPQ8O+8PA3251$+&KY93Z9:4P/[X
ME?VZ]BZ\K#"#*4F?DHC'8\554 1K7*9\2:JOT/JQ)5](4E8_4=7F:@H*2\9)
MUH*%@BS)FS=^:>O0 ^C6 8#1 HSW LP68-9&&V6UK1GFV/<HJ1"5V8)-#NK:
MU&CA)LGE+@:<BME$X+@?W%W?/TV6<S2YG:$NF,T?Y]_O%C?SVWLTO0ON W0R
M XZ3E*%S%) UKS %4:VM. 6%V%..0L(X.Q6S#\$,G7P\]50NU,DUU+!5<M4H
M,0XHF4%X@4S]#!F:80[ I^^'&V_AJJA)5QBC*XQ1\YD'^);  -,P1CB/T*SG
M],=DQ3@5Q^_GD,>&U!HFE;_D)2MP"&-%_',,Z!84_],'W=&^##G^3V1O_)N=
M?_,8N]_M<L_[D.&&Q:Y99,O8^B-#-[7/GKKM6]E/,RU]Y%I=VAN15B?2.BIR
M2G*Q%V73$9(<+2C9B%*P(:$-D]-3H%NN.=)WA!Y=<+CFZ$BY[<Z)?=3)) S+
MK$PQAPCAC%">_,'2U9 3>\_)N:$[KF7L6!G(&SGVR!FNN=,I=?[Y8)RA' 9/
MA[.W[8YMN*:[HW0_S1!YFKNC5.WU.7G'W&"Z27*&4E@+H'8Q$@RTZ=M-P$E1
MM[X5X:*1UL-87'5 98*87Q/"7P/93;O+T_\+4$L#!!0    ( ,Z#@5A?Z8+
MD0(  -4%   9    >&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;(54;4_;,!#^
M*U8V32 QDB9-5E@;"=HBD'BI*"\?T#ZXS;6U<.)@7UK8K]\Y"5DW GQ)?/8]
M+W>)K[]1^M&L ) ]IS(S V>%F!^ZKIFO(.5F7^60T<E"Z90CA7KIFEP#3TI0
M*EW?\R(WY2)SXGZY-]%Q7Q4H1083S4R1IER_'(-4FX'3<5XWKL5RA7;#C?LY
M7\(4\#:?:(K<AB41*61&J(QI6 R<H\[A<63SRX0[ 1NSM6:VDIE2CS8X2P:.
M9PV!A#E:!DZO-0Q!2DM$-IYJ3J>1M,#M]2O[25D[U3+C!H9*WHL$5P.GY[ $
M%KR0>*TVIU#7$UJ^N9*F?+)-G>LY;%X85&D-)@>IR*HW?Z[[L 7P_7< ?@WP
M2]^54.ERQ)''?:TV3-ML8K.+LM023>9$9C_*%#6="L)A/+TZN;D_NAZSH\L1
M:X+1^&Y\?C6Y&%_>L.'5]&;*=D: 7$C#OK.Q04'M@(0M"BPT,)XJC>(WMVW>
MI82I6N"&VX,L^1N,8$V_0$X?%-E0&33LX0+2&>A??1>I$NO'G=>NCRO7_CNN
M1S#?9T%GC_F>'[#;Z8CM?-W]E\:E1C3=\)MN^"5O\ [O1-/?KO%ECTTD)Y^V
M@/%3(2K7#^>4SLX04M/JN>+NMG/;VW5H<CZ'@4/7QX!>@Q-_^]*)O)\?. \:
MY\%'[#$UHMOFJ4*%)<I>T'7L1P>]@Z#OKEO4NHU:]S.UL$VM0D7;:J$?=#OM
M:F&C%GZF%K6IA6_4.H$7>=UVM:A1BSY4.Q&90&"2AD7"1(8\6XJ9I)_9&$#3
MYB-ZT^,H]'M![S\?[M8MM0/O@NNER R3L""@M_^#&'0U1*H 55Y>W)E"&@/E
M<D5S%[1-H/.%4O@:V%G03/+X#U!+ P04    " #.@X%8N!L"BIL"  !P!@
M&0   'AL+W=O<FMS:&5E=',O<VAE970T."YX;6RM5=MNVD 0_9656U6)U,8W
M#%%J+ $F2J4F09#+0]6'Q1[C56RON[O@M%_?W;5Q"!C4A[[@O<PY<\[@&?L5
M92\\!1#H-<\*/C12(<HKT^11"CGF%[2$0MXDE.58R"U;F;QD@&,-RC/3L:R^
MF6-2&(&OSV8L\.E:9*2 &4-\G>>8_1Y#1JNA81O;@SE9I4(=F(%?XA4L0#R6
M,R9W9LL2DQP*3FB!&"1#8V1?33P5KP.>"%1\9XV4DR6E+VKS+1X:EA($&41"
M,6#YV, $LDP121F_&DZC3:F N^LM^[7V+KTL,8<)S9Y)+-*A<6F@&!*\SL2<
M5C?0^-$"(YIQ_8NJ.M8;&"A:<T'S!BP5Y*2HG_BUJ<,.P.X? 3@-P-D'](X
MW ;@:J.U,FTKQ ('/J,58BI:LJF%KHU&2S>D4/_B0C!Y2R1.!(O[ZX?GT7R*
MPNG3]/O]['9Z]X F]XN'!3H+06"2<72'&<.JVN?H"WI<A.CLX[EO"IE=<9A1
MDVE<9W*.9+(==$L+D7(T+6*(WQ.84G:KW=EJ'SLG&4.(+I!K?T:.Y;@=@B;_
M#G=.R'';4KJ:SSW"-P<.F$4IPD6,0MC(#BGE^R[0C]&2"R9?V)]=5:M)>]VD
MJHFO>(DC&!JR2SFP#1C!IP]VW_K:Y?@_D;WSWVO]]TZQ!Z.<,D'^8-V>-$&<
M)J+"#&17O=4BHESPKC+4W)[F5J-G$]@]R^D/?'.S:[ CK.\-^FW4.^5>J]P[
MJ3P$68Z('"I7:KO$>@<J+GNN<[FG]3#*&UBNNZ?5W&G>'-A*SS0N4Z\+4?="
M>]J.S9&>%GOG8SE.Z^GW1E//XEO,5J3@*(-$4EH7 ZF)U?.MW@A:ZA&QI$(.
M'+U,Y2<!F J0]PFE8KM1"=J/3/ 74$L#!!0    ( ,Z#@5@6VBW@5P,  ,@0
M   9    >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;*U8;6^;,!#^*Q:;IE9J
M"X8$DBY!6IM5B[1N45^V#]4^.,DEH )FMI.T_WXV4 (-04WG+P&;N\?WW)VM
MQQEL*'OD 8! 3W&4\*$1")&>FR:?!1 3?D932.27!64Q$7+(EB9/&9!YYA1'
MIFU9KAF3,#'\038W8?Z KD04)C!AB*_BF+#G"XCH9FA@XV7B)EP&0DV8_B E
M2[@%<9].F!R9)<H\C"'A(4T0@\70^(+/+[&K'#*+7R%L>.4=*2I32A_58#P?
M&I:*""*8"05!Y&,-EQ!%"DG&\;< -<HUE6/U_07]*B,OR4P)ATL:_0[G(A@:
M/0/-84%6D;BAFV]0$.HJO!F->/:+-KFMVS'0;,4%C0MG&4$<)OF3/!6)J#C@
M?0YVX6"_U<$I')R,:!Y91FM$!/$'C&X04]823;UDN<F\)9LP466\%4Q^#:6?
M\$=?+^[0T0@$"2..3M$/*H"CE#R3:01RO @3DLS"9(G(D@'( @I^+.?O;T?H
MZ./QP!0R" 5ESHH%+_(%[7T+PNP,.?@$V9;M-+A?OMW=KKN;DGK)WR[YVQF>
MLP?O-J!,G-X!B]$(I@(]?)<&:"P@YG^:R.5HG68TM>?.>4IF,#3DIN+ UF#X
MGSY@U_K<1%436(VX4Q)WVM#]6J%/T(2%LLPIB9I(YTC=#$F="VN_@_N>.S#7
M53:[5EZGZW5+JUJ8G3+,3FN8=T'(YFA"F'A&XX2OF.Q&R+H4_92%>KB&> JL
ML52MP(>62A-8+0?=,@==K3W:U4E<$UB-N%L2=[7U:"M2<YRHB>__X]2H>B55
M[[U]?K>AK7W>"GQHN36!U7+0*W/0T]KG/9W$-8'5B/=+XGUM?=[?.66=?M_M
MO3J+=ZVPYW6=YK,86UNQ8!T2Z#@1(+,A&E5 CM2OA&"=6:_C+*S4HVKFVIT]
MH59T#7[WA@JDDFG=4NW8A[:6+K1Z)K8*!^N5.%BKQM&%5B>_53E8G\S!NPI&
MWH9V6G;72D;;W]>P6Z&#WZUTKNB*M?>K5JVC"ZV>B*W:P7KE#M:J=W2AU<EO
M%0_6)WG:H0[0/ 503>!;GMU[U=)FY9JI[OC7A"W#A*,(%M+/.O,D ,NOS?E
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
MUL@&471-'V89VEP&U5RHYD$U'ZH%4"U$:?TL=SUF])N;S.Y7.1>WF8GMLZ^
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
M#))##!)'#$TP0X $IH6 ^/)_T?Y4CNYG:B2-0T8BOT-2XT!*_2@PDY0H H*
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
M6@A>H8PS)?1WI8] E2BSQ0>!?@WGTL[_[K);\T?=_.8.GLD5SF'@Z$LF06S
M23]]\!/O2Y?Y_T3VI!1A6XKP-?:T=4\)GA-*% '99;AFB2V+Z1&;U$^2)(CT
M:6YVO>SGG<:]T]->F_9$9=2JC-ZM\@@IR$O&*5\^(/D@%52=RJ-]Y5X2)2?!
M,^5U7K*3%_A^% ?=RN-6>?RJ\JD^+Y*#1)@5*.=,ZD9#V%*WPIPO&?D+19?F
M5SG?^WG%>P7H!?Z)[STSYNZT$]/*?V"Q)$PB"@L-](Y[FD'4[;$.%%_9#C/G
M2E\9.RSU'P6$2=#K"\[58V":5ON/2O\!4$L#!!0    ( ,Z#@5@]C,O*, (
M  L%   9    >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;*U446_:,!#^*Y8W
M3:VTU<$I=&-))!JHVH=2!.OV,.W!) >)ZL29;4CW[V<[(4LUF/JP%W)GW_?=
M?<>=@UK()Y4!:/1<\%*%.-.Z&A.BD@P*IBY$!:6YV0A9,&U<N26JDL!2!RHX
MH9XW(@7+2QP%[FPAHT#L-,]+6$BD=D7!Y*]KX*(.\0 ?#I;Y-M/V@$1!Q;:P
M OU8+:3Q2,>2Y@64*A<EDK )\60PCGT;[P*^YE"KGHVLDK403]:Y2T/LV8*
M0Z(M S.?/<3 N24R9?QL.7&7T@+[]H']QFDW6M9,02SXMSS568@_8I3"ANVX
M7HKZ%EH]0\N7"*[<+ZJ;V"'%*-DI+8H6;"HH\K+YLN>V#SW X/($@+8 ^EJ
MWP)<YTA3F9,U99I%@10UDC;:L%G#]<:AC9J\M/_B2DMSFQN<CJ:SF]ER.9NB
M^.%^,9NO)E_N'N;H; J:Y5RA.9.2V4:?HP_H<35%9V_/ Z)-8@LG29ODNDE"
M3R6!Y +Y@_>(>M0_ H]?#Z<OX<3([3333C-U?/X)OE@49@D4<W.T!,XTI"@6
M2BOT?;)66IK9^G%,94-[>9S6[MM852R!$)N%4B#W@*-W;P8C[_,QS?^)[$4'
M_*X#_K_8HTF2R)T1;>8=I#1&TFO),>4-W=#1V8=A'WD!V??E_!U!/UV-Z)^P
MIE#2&U7[3-PSN<U+A3AL#-"[N#(,LEF]QM&B<M.[%MKL@C,S\UJ!M 'F?B.$
M/CAV(;KW+_H-4$L#!!0    ( ,Z#@5A25O)V,0,  .$(   9    >&PO=V]R
M:W-H965T<R]S:&5E=#4V+GAM;*U6VV[;.!#]E8%:+%J@C6ZQ;&=M 8F<[N;!
M3E"GVX>B#XPTMHA*HDK2=OOW'5**:B>R-POLB\3+S.$Y1R1'DYV0WU2.J.%'
M651JZN1:UQ>NJ](<2Z;.1(T5S:R$+)FFKER[JI;(,IM4%F[@>9%;,EXY\<2.
MW<EX(C:ZX!7>25";LF3RYQ468C=U?.=QX"-?Y]H,N/&D9FM<HOY4WTGJN1U*
MQDNL%!<52%Q-G4O_(AF9>!OP#\>=VFN#4?(@Q#?3N<FFCF<(88&I-@B,7EM,
ML"@,$-'XWF(ZW9(F<;_]B/[!:B<M#TQA(HK//-/YU!DYD.&*;0K]4>S^QE;/
MP."EHE#V";LVUG,@W2@MRC:9&)2\:M[L1^O#7H(_/)(0M G!2Q/"-B&T0AMF
M5M:,:19/I-B!--&$9AK6&YM-:GAEON)22YKEE*?CY'8^O[F?7R_NEW"YF$%R
MN[B_6?QUO4ANKI?P9H::\4+!>UANZKI ^GZ:%<"K9O\TG[)@&C/0 @HD0]5;
MBOZTG,&;UV\GKB:.9B4W;?E<-7R"(WS\ .:BTKF"ZRK#[!# )7&=PN!1X55P
M$G&&Z1F$_CL(O"#L(92\/#TX02?L# \M7GC,<%&67!L?%; J@X34\FJ-5<I1
MP8RKM!!J(Q&^7#XH+6F;?^USL5GDO'\1<_0O5,U2G#ITMA7*+3KQ'Z_\R/NS
MSX'_">S C_/.C_-3Z/%MC9(9!YK= ZE0ND]P@S*P*.9JVL;#D1^%HXF[W9?2
M%Q8,QGX7=D!RT)$<G"2YS(74H%&6+<OD",L&)MI;/@J'0^\)R>=183@<'.$8
M=1RC%QJ9,I4#W=@KNJ)AH^ALTFD%<6BTZJ,?/7,O&D>C:/R$__.P<S\*!EZ_
M@&$G8'A2P&=[Y1);MB6F:X2,#H/85!J(-_;1;?#&>SR\,^\IV7\).J ZZJB.
M_AM5B:9B_M[%9JOT,3X-.X*?R*2""$I[!_:=U=,(XY,(C59WKUJ4*->VB"JP
M5C?7:C?:U>E+6YZ>C%]1_6[*[6^8IOC/F5SS2I$9*X+TSH:T5V134)N.%K6M
M20]"4X6SS9S^05": )I?":$?.V:![J\F_@502P,$%     @ SH.!6/""'$R9
M P  JPT  !D   !X;"]W;W)K<VAE971S+W-H965T-3<N>&ULK9==CYLX%(;_
MBL56JU;J#&"^9Q.D*9GN1MK)C)II]V*U%PYQ$JN J6V2]M^O#0S# "$5Z@W!
MX//Z>8\)YS [4?:5'S 6X'N:9'RN'83(;W2=QP><(GY-<YS).SO*4B3DD.UU
MGC.,MF50FNC0,%P]1233PEEY[9&%,UJ(A&3XD0%>I"EB/S[@A)[FFJD]7_A$
M]@>A+NCA+$=[O,;B<_[(Y$AO5+8DQ1DG- ,,[^;:K7D3F98**&=\(?C$6^=
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
MX]BL,<V@CDQGCXQ7 Z8FJB8LW ][A;DHQMS:K?71:HSYDB1"K6D+);1:'>7
MB^-*T9$LS3?P&9/J.) W5^J$!UP'J.<+QN1+1Y\)JC-C\ ]02P,$%     @
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
M($R 7I]RKEX'IO1W+WWV&U!+ P04    " #.@X%8N=[#L.,"  ! "   &0
M 'AL+W=O<FMS:&5E=',O<VAE970V,2YX;6RM5EU/VS 4_2M7V32!M)&O)@'6
M1BHMVWB 512V2=,>W.2VM7#LSG9;^/>SDY"5TD8#[:6QG7N.S[EV[FUW+>2=
MFB-JN"\85SUGKO7BU'55-L>"J".Q0&[>3(4LB#93.7/50B+)2U#!W,#S8K<@
ME#MIMUP;R;0KEII1CB,):ED41#Z<(1/KGN,[CPO7=#;7=L%-NPLRPS'JV\5(
MFIG;L.2T0*ZHX"!QVG/Z_ND@L?%EP#>*:[4Q!NMD(L2=G5SD/<>S@I!AIBT#
M,8\5#I Q2V1D_*XYG69+"]P</[)_*KT;+Q.B<"#8=YKK><\Y=B#'*5DR?2W6
M7[#V$UF^3#!5_L*ZBHT3![*ETJ*HP49!07GU)/=U'C8 ?KP'$-2 8!O0V0,(
M:T!8&JV4E;:&1).T*\4:I(TV;'90YJ9$&S>4VU,<:VG>4H/3Z<75X.OE.=ST
M?YR/X6"(FE"FX(I(26Q^#^$#W(Z'</#VL.MJLY]%N5G-?59Q!WNX_0 N!==S
M!><\Q_PI@6N$-FJ#1[5G02OC$+,C"/WW$'A!N$/0X-_A08N<L$E>6/*%^Y+'
M,U$@W)![&%*5,:&6$N%G?Z*T-/?SUZZ458R=W8SVFSU5"Y)ASS$?I4*Y0B=]
M]\:/O8^[[/XGLB?F.XWY3AM[^ED*I<"4$WM3^ R8G6;FXCR *2YK(O-=]BO.
MJ.2T%6:51IZ7Q%%\TG57F]:>!X8G29!XD=<$/I$=-;*C5MGFS$RU4PB4PXJP
M):FJ"3/EC/ ,=VFN".,-*4'G)#SVHRW)K1N_\C3BQE;<:NO*%/Q=9]%R%/$S
M6YTP2HZ3>,M6Z\:OM)4TMI)66R.AD6M*&&CSD4V0XY1J()(J:W,J10'\Y<Z3
M9W?+VO;#9,MYJ[:7.G<WBG2!<E;V+J-5++FNZG6SVK3'?MD5W+_A56^])')&
MN0*&4P/UCA)C15;]JIIHL2A+_D1HTT#*X=RT>)0VP+R?"I/7>F(W:/XTI'\
M4$L#!!0    ( ,Z#@5C@^72!A$D  #@3!@ 9    >&PO=V]R:W-H965T<R]S
M:&5E=#8R+GAM;+7=:7/B6(+V_??U*10UR],5D9UEP'CIKJX(5:)]WY>)^P5I
M*VWNML$WX,S*B?GP#]B02#+60O]G.F+*F2G]CD#8Y[)TN/CMVV+YS]5]4:R%
M/Q\?YJM__'R_7C_][==?5S?WQ>-T]7'Q5,PW__)EL7R<KC=_7-[]NGI:%M/;
MEYT>'WX=GIU=_/HXG<U__OVWE[]SE[__MGA>/\SFA;L45L^/C]/E]S^*A\6W
M?_P\^'G_%_[L[GZ]_8M??__M:7I7!,4Z>G*7FS_]^D.YG3T6\]5L,1>6Q9=_
M_"P._B9^&EQ>;G=YV2:>%=]6I:^%[8/YO%C\<_L'[?8?/Y]MCZEX*&[66V2Z
M^<_7XE/Q\+"U-D?R_W;LSS]&W>Y8_GJORR\/?_-P/D]7Q:?%0S*[7=__X^>K
MGX7;XLOT^6'M+[ZIQ>XAC;?>S>)A]?+_A6^[;<]^%FZ>5^O%XV[GS1$\SN:O
M_YW^N7LJ2CL,SM_98;C;8=AUA]%NAU'7'<YW.YQWW6&\VV'<=8>+W0X777>X
MW.UPV76'J]T.5UUWN-[M<%W?8?3>B3O;G[FSKF,,?ISL-V=[_-XN^],]J)_O
M]U]1^Q,^Z'S&!_M3/NA\S@?[DS[H?-8'^],^Z'S>!_L3/^A\Y@?[4S_H?.X'
M^Y,_>'/VWSLOP_W9'W8^^\/]V1]V_U[_\<W>^>P/]V=_V/GL#_=G?]CY[ _W
M9W_8^>P/]V=_V/GL#_=G?]CY[ _W9W_8^>P/]V=_^'+V?WW]V?WR@W\R74]_
M_VVY^"8LM]MOO.T7+[/'R_Z;G_>S^7:J"];+S;_.-ONM?P]"YY.A.N9$\H/_
M_+>KX>#R[X+D15J8"7^9%.OI[&$EV-/E<KJ=CWX1_BI$P43XR[__\MNOZ\WH
M6^/7F]U(YNM(PW=&&@C68KZ^7PG2_+:X/;*_U;S_J&W_L'G_B[;]DY;C'S8
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
M[\+_HQGMG3S0LE]4DU!-1C4%U514TU!-1S4#U4Q4LU#-1C4'U5Q4\U#-1[4
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
M@^5,EK-8SF8YA^5<EO-8SF>Y@.5"EHM8+F:YA.52ELM8+F<YL6TZ/R'0P,7
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
MSFVQNEG.WF]-;$;Z9QVV7AKE)):364YA.97E-);36<Y@.9/EK+;OU/"^$*3
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
M_/N7Q6*]_\-V@&^+Y3]?'N;O_S]02P,$%     @ SH.!6$?)? P=!0  3!H
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
M0-SB;P^V[. 8R51F4?13GGQW!YHN1P0^.%Q*$/&Q@3'XOE02X_AO)ZJE?<K
MP^.]^K<X>9',C# 81_ZKY_+E0+,TY,*<K'W^'&W_A%U"':GG1#Z+_Z/MKJVN
M(6?->!3L@L4( B],/LG;#L1! .Z5!!B[ ",?8)4$M'<![5R T2D),'<!9DPF
M227F8!-.AGT:;1&5K86:/(AAQM$B?2^4O_N44_&M)^+X</PXF3P^H.G+X_@O
M]/CT\OWQ88I&#S9Z'3T_CQY>INC*!DX\GZ&O:"1_)(^_HVB.MH12$G+V15S_
M,;71U:]?^BTN1B1U6\ZN]_ND=Z.D=VR@213R)4-_A"ZXQP(MD4J:C['/Y]Y0
M*MK@W* VOD:&;K0+!C0^/]PH"+?/#\>*;-KIK]..]<P2O8=U, -ZB!N)VF6<
MA*X7+A#A: 8++PS%21'\1+P;B\L%8#/$9J]S*T:V.42B'(-<>.[8BC@PT,3*
MPH!N0!O^]@ONZK\7 6I([ B7F>(R/X@+0K<(E%+V0@)C\RSJ=D-]'H'JI* Z
M2E"O"1[TSP0DL7^+F"@5+F72I)C=D-@1N6Y*KON9%=D]F1N6KI\4Y&DKW.YU
MS6XW-X640ZT)HI>"Z*FG4'Q'!1>1#5#A$!"\ 74\!FA%/0<NHI+T9!U2N>FV
M]8._/*&B"&SE\"@3J(G'2O%8E^&A(%V8I.&(.QX5?F=-?,2!!NCJ'0AEA;=/
M=2<6"I*[I[B/NN2=%56>6@'CO831+I.P*R20'#[">JID%B@=0;Q-(=XJI4>+
M!84%X8 \@<P39M-!&^*O+YM=RCZ*IP$J(MF0CEU#IW):8CWS>_HY2S\3];KR
M*+C72&P>YN!Q>>B0T!$67$S;B*8%77C'W/5RN$9]Q;IQ:_9RE5K8T# LJ]?)
ME:MZX'7!'!AA_)$%[3I;\#](3CF,"^9C4T)V':%J\$8&WCAO1GJ,K4N8*14N
M8=:0D%U'J)I9MB_ ZHW!^9-5 ;6&52^&VI"074>H&FJV>\"?M'W IY;?-+NF
MF5\*3YL5N#^[H%G>_ATGF+E^7&'[+_-L9=EV3LQ7[^9DV3]M5.'I[,*0 U-W
MG'1FV+':L9]M(LK2K>&RB\ND(2&[ :%CEIGGQVK3?UHAU_LY1&8^%.+KG5<;
MI\T*:^,S/#W.3#V^T-7GE]TJ&-8YI7/:J+)TE,.NBR6SZ5CMTVML=JI1J;L\
M9^M3(7&;2EBE6Q^U1$VP1F;6#;59+UV[*O&IA2]8M9H2LNL(E:-L'3SR#H N
MXE<'3$RW=<B3I\7IU?3UQ"A^*)^[?H_O[.0E0R:3O/.8$"IVE0SY,!>2^DU/
MW)]H\AHA.>'1*GZP/HLXCX+X< G$!2H;B._G4<3W)[*#]&7.\']02P,$%
M  @ SH.!6!E]/\Y("   7&(  !D   !X;"]W;W)K<VAE971S+W-H965T-C8N
M>&ULQ=UK;^)(%@;@OU)B5Z,9J3O8!@ST)$CI^'Y)HB:]_6&T'QPH@M6^,&6G
MTQGMCU_;.(8BIF)VWE4Z4H>+SU-5F%.4X<2</Z7L>[:F-"<_XRC)+GKK/-]\
MZO>SQ9K&07:6;FA2W+-*61SDQ57VT,\VC ;+*BB.^HHDJ?TX")/>[+RZ[9;-
MSM/'/ H3>LM(]AC' 7O^3*/TZ:(G]UYN^!(^K//RAO[L?!,\T#G-OVYN67&M
MWRC+,*9)%J8)871UT;N4/_G*J RHMOA72)^RO<ND',I]FGXOK]C+BYY4]HA&
M=)&71%#\^D&O:!254M&//VNTU[19!NY??M&-:O#%8.Z#C%ZET;=PF:\O>I,>
M6=)5\!CE7](GB]8#JCJX2*.L^I\\;;<=3WMD\9CE:5P'%SV(PV3[._A9/Q![
M ?+P2(!2!RA= P9UP*!KP+ .&'8-&-4!H\. T9$ M0Y0N[8PK@/&70,F=<"D
M:\"T#IAV#9"EESTG=0YI=G;GO2V_[&ZY\_Z67W:X7.WQ_O:Y6#V1M2 /9N<L
M?2*LW+[PR@M5-E3QQ?,W3,K$G>>LN#<LXO+9U8WOWUR3^=W-E4MN;N_LF^LY
MN;S6R+?++U\NK^_FY%>-YD$89>0Z8"PHT^PW\I%\G6ODUW_^=M[/BTZ45']1
M-VAL&U2.-#@@?IKDZXSHR9(N^?A^T?EF!,K+"#XK0E"CBS,BR1^((BF#EOY<
MB<,O-ZP(5XZ&:^)PYS%JPI66</V-\" 1AAL=QCXX/G;SK<X7K0^DH^&6.-P/
MF+!UNWOGV\;NB,/G=--TOBW<[3[VMG"O^]C;POWN8Y<%23!HTGA0><,CWK<R
M-Y.<_.'3^)ZR?[?TZ+-0*!<(G[)-L* 7O6(%D%'V@_9FO_Q#5J7?VY(*B6E(
M3$=B!A(SD9B%Q&PDYB Q%XEY2,P'85RZ#YMT'U;ZX-C<MPX8_?BY6+ NR54:
M%ZOX+*C6P9?E-/! BY5U3NZ?R?YVM\%S=?/E4\"6Y ^O((F=TSAKG2R&R,D"
MB6E(3$=B!A(SD9B%Q&PDYB Q%XEY2,P'8=QD,6HFBY%P;5!<#K]3LF'A@K:E
MNC#ZU%1'8AH2TY&8L<4F%5:^-_)C-CX;G_=_[&<PLD$+B=FO>S\Y4P?2WC^9
M'XN#;-Y%8AX2\]L>&'G2/!9<^JE-^JDG+<W)?XB1/K+\F>CEFTJDOC\C5AHM
M*<N$:WAA4Z?F*A+3D)B.Q PD9B(Q"XG92,Q!8BX2\Y"8#\*X>6'<S OC=U[#
MCY&3!1+3D)B.Q PD9B(Q"XG92,Q!8BX2\Y"8#\*XR6+23!83\1J^G 0R0G]N
M0G;XKODVV87QIR8[$M.0F([$C"VF[BWW9$F9#@\7\L@VK6YMVL@V'23F(C$/
MB?D@C$O0:9.@TU-7^?/P9['(OULS2D];Y M;.C65D9B&Q'0D9B Q$XE92,Q&
M8@X2<Y&8A\1\$,9-"[*T^WQ=>N=E?MT!T'P!U32HID,U ZJ94,V":C94<Z":
M"]4\J.:C-'[JV"O-D?_FHE\,G)SZ2$V#:CI4,Z":"=4LJ&;7&G>\H2B3R7AT
M\ X_M%D7JGE0S4=I?%8KNZQ6A%E]LRE?_C/^\P 64T;F>;!:"8\,Q/3)^8[4
M-*BF0S4#JIE0S8)J-E1SH)H+U3RHYJ,T?E+8E>_)@_<^2H"6_T$U#:KI4,V
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
M@XH:P[2\LATWV 6?0%'3OEU5UN%,TU6W=TXV!/>P229*YTRW:;ID'1H-!"O
MCN:S.3R-JF( C5&E;>2<SI2DSL.:T32L[)0)<0,OT\]B1WM9;.U;!W9-MDUK
MJ&EZ&=\!_6TUK[TMVWN5;E3Q>V6^+.QTI.M#@;)KS0J^=/UET1K U+NX.JTJ
ML?HL^$R6S$_^Q0E' [KF17.E^8/-!J4RM0&F273/M.'3[<AO3:M;MC3K<EH6
MN.?>&_3\=]=YQB335&R;MK5_R*O\:L?-Z?,O/+L_*_N.@R:3B\/WV)RXAVXR
M?0LFW\1V]P_?9)(=I,>X.;^W+@D[5X0V&L%5;$A^P,5.;))&DP47ALNF-^=Y
MSN23FX*5-W1B+_,[^G9\S@JZ$.:V!8=DT_[.<KXHLW;4-2Q$,VK3_@;3ZZ;M
M/=#FXC)G2Y:/FZZ>35PSL@V;M?D 81^Y<I\P@G$\%D8 P_)@#C".9V%Y_J?Y
M]-'Y> SSU@\B?9331SF>%4+&[HOE"7,R^PG/-,N2)$VQ%1V/@P[&V+JE*?R$
MU3!OP,#R0*8_6VM\M_$*>;X.L#U]KD*PF>*5B,T47VM PNL&C"P+[S:6!QC8
M+F"U _G#>:"FPIPD@5W%O&%O,(YD&89 +89K-$V1U4GA&]X?["U)DBP+(X"%
M'20)AL#;B".8 _" (4GBSL&]\RA>GU/QYC]<HT=02P,$%     @ SH.!6)>*
MNQS     $P(   L   !?<F5L<R\N<F5L<YV2N6[#, Q ?\70GC 'T"&(,V7Q
M%@3Y 5:B#]@2!8I%G;^OVJ5QD L9>3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(
MMB6/:<Z10J[4+!XUA]) 1-MC0[!:+#Y +AEFM[UD%J=SI%>(7->=I3W;+T]!
M;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B
M':5_'<?VD-/IKV,BM'I;Z/EQ:%0*CMQC)8QQ8K3^-8+)#^Q^ %!+ P04
M" #.@X%85-7_X6@%   M+@  #P   'AL+W=O<FMB;V]K+GAM;,6:6W.B2!2
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
M04UB@0   +$    0              "  0    !D;V-0<F]P<R]A<' N>&UL
M4$L! A0#%     @ SH.!6'+G%+_M    *P(  !$              ( !KP
M &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ SH.!6)E<G",0!@  G"<
M !,              ( !RP$  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4
M    " #.@X%8F8[LG\P'   \,P  &               @($,"   >&PO=V]R
M:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ SH.!6-1%FKG&"   03,
M !@              ("!#A   'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+
M 0(4 Q0    ( ,Z#@5CQHO ]CP4  -PC   8              " @0H9  !X
M;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " #.@X%822@Y$T\%
M  "J&   &               @('/'@  >&PO=V]R:W-H965T<R]S:&5E=#0N
M>&UL4$L! A0#%     @ SH.!6++VT6_" @  P@<  !@              ("!
M5"0  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( ,Z#@5C]
M&!,9&0H   AG   8              " @4PG  !X;"]W;W)K<VAE971S+W-H
M965T-BYX;6Q02P$"% ,4    " #.@X%8L>:?)1<(  "0)0  &
M    @(&;,0  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @
MSH.!6(WZ)XE; @  N04  !@              ("!Z#D  'AL+W=O<FMS:&5E
M=',O<VAE970X+GAM;%!+ 0(4 Q0    ( ,Z#@5C!JWB*0P(  ) &   8
M          " @7D\  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4
M    " #.@X%8>;7^2-8G  ")=0  &0              @('R/@  >&PO=V]R
M:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( ,Z#@5@"QA^[>PH  ,X9
M   9              " @?]F  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL
M4$L! A0#%     @ SH.!6#2(']^R @  )P8  !D              ("!L7$
M 'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " #.@X%8E*YA
M4O,#  !/"0  &0              @(&:=   >&PO=V]R:W-H965T<R]S:&5E
M=#$S+GAM;%!+ 0(4 Q0    ( ,Z#@5B_[X9]NP(  -0%   9
M  " @<1X  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%     @
MSH.!6/>\YEDY P  2@<  !D              ("!MGL  'AL+W=O<FMS:&5E
M=',O<VAE970Q-2YX;6Q02P$"% ,4    " #.@X%8]',>OR4$  "G"@  &0
M            @($F?P  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4
M Q0    ( ,Z#@5ADVHH'&0D  .09   9              " @8*#  !X;"]W
M;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ SH.!6 DZ@!I0 @
M(@4  !D              ("!THP  'AL+W=O<FMS:&5E=',O<VAE970Q."YX
M;6Q02P$"% ,4    " #.@X%84!@-_]0'  ##$0  &0              @(%9
MCP  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( ,Z#@5@8
MU3:VYP4  "@.   9              " @627  !X;"]W;W)K<VAE971S+W-H
M965T,C N>&UL4$L! A0#%     @ SH.!6)XE'XY?%P  4E   !D
M     ("!@IT  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4
M" #.@X%8N'H0AF,&  #6$   &0              @($8M0  >&PO=V]R:W-H
M965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( ,Z#@5@LF*P3-@,  $4'   9
M              " @;*[  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L!
M A0#%     @ SH.!6!9-%XY0 @  .P4  !D              ("!'[\  'AL
M+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " #.@X%8ET7R&"<$
M  #V"   &0              @(&FP0  >&PO=V]R:W-H965T<R]S:&5E=#(U
M+GAM;%!+ 0(4 Q0    ( ,Z#@5CL5"1$D@4  #0-   9              "
M@03&  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @ SH.!
M6/B NM^7*0  6((  !D              ("!S<L  'AL+W=O<FMS:&5E=',O
M<VAE970R-RYX;6Q02P$"% ,4    " #.@X%8FJT[HVT"  "&!0  &0
M        @(&;]0  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0
M   ( ,Z#@5C%T&3']0,  )X*   9              " @3_X  !X;"]W;W)K
M<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ SH.!6()(?H.6 @  B@4
M !D              ("!:_P  'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q0
M2P$"% ,4    " #.@X%8PZ<T3R<#  """   &0              @($X_P
M>&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( ,Z#@5@(+RRI
MG@(  "@&   9              " @98" 0!X;"]W;W)K<VAE971S+W-H965T
M,S(N>&UL4$L! A0#%     @ SH.!6'>G QU*!0  ,@\  !D
M ("!:P4! 'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    " #.
M@X%8H1"ZM=$#  #9"   &0              @('L"@$ >&PO=V]R:W-H965T
M<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( ,Z#@5C_ -)?B ,  &4(   9
M          " @?0. 0!X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#
M%     @ SH.!6&^N9AB2!   %PT  !D              ("!LQ(! 'AL+W=O
M<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " #.@X%8N-0=5%$"  !"
M!0  &0              @(%\%P$ >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM
M;%!+ 0(4 Q0    ( ,Z#@5@;*BW4[@<  -H^   9              " @00:
M 0!X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ SH.!6/SU
M39Z] @  10<  !D              ("!*2(! 'AL+W=O<FMS:&5E=',O<VAE
M970S.2YX;6Q02P$"% ,4    " #.@X%8;(XOR&,"  "?!@  &0
M    @($=)0$ >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    (
M ,Z#@5CV+6%OM00  +T7   9              " @;<G 0!X;"]W;W)K<VAE
M971S+W-H965T-#$N>&UL4$L! A0#%     @ SH.!6-TS2#"+ @  V@4  !D
M             ("!HRP! 'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"
M% ,4    " #.@X%8V_J"27 "  "P!0  &0              @(%E+P$ >&PO
M=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( ,Z#@5C(/)GEC0(
M &D&   9              " @0PR 0!X;"]W;W)K<VAE971S+W-H965T-#0N
M>&UL4$L! A0#%     @ SH.!6!Y+LM-T @  N04  !D              ("!
MT#0! 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    " #.@X%8
M :AL8[4"  !(!P  &0              @(%[-P$ >&PO=V]R:W-H965T<R]S
M:&5E=#0V+GAM;%!+ 0(4 Q0    ( ,Z#@5A?Z8+ D0(  -4%   9
M      " @6<Z 0!X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#%
M  @ SH.!6+@; HJ; @  < 8  !D              ("!+ST! 'AL+W=O<FMS
M:&5E=',O<VAE970T."YX;6Q02P$"% ,4    " #.@X%8%MHMX%<#  #($
M&0              @($!0 $ >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+
M 0(4 Q0    ( ,Z#@5A >.X.) D  +EX   9              " @8]# 0!X
M;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ SH.!6$ED"FJB
M @  @P8  !D              ("!ZDP! 'AL+W=O<FMS:&5E=',O<VAE970U
M,2YX;6Q02P$"% ,4    " #.@X%8=^5D 0@#   ="   &0
M@('#3P$ >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    ( ,Z#
M@5@DQ\'+/PP  !*!   9              " @0)3 0!X;"]W;W)K<VAE971S
M+W-H965T-3,N>&UL4$L! A0#%     @ SH.!6.)E622< @  KP8  !D
M         ("!>%\! 'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"% ,4
M    " #.@X%8/8S+RC "   +!0  &0              @(%+8@$ >&PO=V]R
M:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( ,Z#@5A25O)V,0,  .$(
M   9              " @;)D 0!X;"]W;W)K<VAE971S+W-H965T-38N>&UL
M4$L! A0#%     @ SH.!6/""'$R9 P  JPT  !D              ("!&F@!
M 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    " #.@X%8SJ!M
M?PH#   _"@  &0              @('J:P$ >&PO=V]R:W-H965T<R]S:&5E
M=#4X+GAM;%!+ 0(4 Q0    ( ,Z#@5BLC=HP%P,  +\(   9
M  " @2MO 0!X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#%     @
MSH.!6.[&E"Z\ @  ]0<  !D              ("!>7(! 'AL+W=O<FMS:&5E
M=',O<VAE970V,"YX;6Q02P$"% ,4    " #.@X%8N=[#L.,"  ! "   &0
M            @(%L=0$ >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+ 0(4
M Q0    ( ,Z#@5C@^72!A$D  #@3!@ 9              " @89X 0!X;"]W
M;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @ SH.!6$?)? P=!0
M3!H  !D              ("!0<(! 'AL+W=O<FMS:&5E=',O<VAE970V,RYX
M;6Q02P$"% ,4    " #.@X%8Z4#IF/\#  #K$   &0              @(&5
MQP$ >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    ( ,Z#@5@-
MGDQ-NP0  -@9   9              " @<O+ 0!X;"]W;W)K<VAE971S+W-H
M965T-C4N>&UL4$L! A0#%     @ SH.!6!E]/\Y("   7&(  !D
M     ("!O= ! 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q02P$"% ,4
M" #.@X%8#-F#83H"  "I!   &0              @($\V0$ >&PO=V]R:W-H
M965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( ,Z#@5@.!D Y+0(   @%   9
M              " @:W; 0!X;"]W;W)K<VAE971S+W-H965T-C@N>&UL4$L!
M A0#%     @ SH.!6*,0$NC8 @  Q@<  !D              ("!$=X! 'AL
M+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    " #.@X%8Y7RQ0>L#
M  !9%P  &0              @($@X0$ >&PO=V]R:W-H965T<R]S:&5E=#<P
M+GAM;%!+ 0(4 Q0    ( ,Z#@5CWZ9Q5+P,  .X2   -              "
M 4+E 0!X;"]S='EL97,N>&UL4$L! A0#%     @ SH.!6)>*NQS     $P(
M  L              ( !G.@! %]R96QS+RYR96QS4$L! A0#%     @ SH.!
M6%35_^%H!0  +2X   \              ( !A>D! 'AL+W=O<FMB;V]K+GAM
M;%!+ 0(4 Q0    ( ,Z#@5C;=K!Q,0(  (DI   :              "  1KO
M 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( ,Z#@5BD
MR,-W^@$  +0H   3              "  8/Q 0!;0V]N=&5N=%]4>7!E<UTN
9>&UL4$L%!@    !. $X 614  *[S 0    $!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>346</ContextCount>
  <ElementCount>373</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>84</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>5</UnitCount>
  <MyReports>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/ConsolidatedStatementsOfOperations</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995513 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies</Role>
      <ShortName>NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995514 - Disclosure - LIQUIDITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/Liquidity</Role>
      <ShortName>LIQUIDITY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995515 - Disclosure - ACCOUNTS RECEIVABLE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/AccountsReceivable</Role>
      <ShortName>ACCOUNTS RECEIVABLE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995516 - Disclosure - PROPERTY AND EQUIPMENT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/PropertyAndEquipment</Role>
      <ShortName>PROPERTY AND EQUIPMENT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995517 - Disclosure - PATENTS AND TRADEMARKS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/PatentsAndTrademarks</Role>
      <ShortName>PATENTS AND TRADEMARKS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995518 - Disclosure - SOFTWARE DEVELOPMENT COSTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SoftwareDevelopmentCosts</Role>
      <ShortName>SOFTWARE DEVELOPMENT COSTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995519 - Disclosure - DEBT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/Debt</Role>
      <ShortName>DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995520 - Disclosure - REVENUES AND CONTRACT ACCOUNTING</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenuesAndContractAccounting</Role>
      <ShortName>REVENUES AND CONTRACT ACCOUNTING</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995521 - Disclosure - DEFERRED COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/DeferredCompensation</Role>
      <ShortName>DEFERRED COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995522 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995523 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/IncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995524 - Disclosure - STOCKHOLDERS??? EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/StockholdersEquity</Role>
      <ShortName>STOCKHOLDERS??? EQUITY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995525 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommonStockOptionsAndWarrants</Role>
      <ShortName>COMMON STOCK OPTIONS AND WARRANTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995526 - Disclosure - DEFINED CONTRIBUTION PLAN</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/DefinedContributionPlan</Role>
      <ShortName>DEFINED CONTRIBUTION PLAN</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995527 - Disclosure - RELATED PARTY TRANSACTIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RelatedPartyTransactions</Role>
      <ShortName>RELATED PARTY TRANSACTIONS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995528 - Disclosure - SALE OF ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SaleOfAssets</Role>
      <ShortName>SALE OF ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995529 - Disclosure - SUBSEQUENT EVENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SubsequentEvents</Role>
      <ShortName>SUBSEQUENT EVENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995530 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995531 - Disclosure - ACCOUNTS RECEIVABLE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/AccountsReceivableTables</Role>
      <ShortName>ACCOUNTS RECEIVABLE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/AccountsReceivable</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995532 - Disclosure - PROPERTY AND EQUIPMENT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/PropertyAndEquipmentTables</Role>
      <ShortName>PROPERTY AND EQUIPMENT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/PropertyAndEquipment</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995533 - Disclosure - PATENTS AND TRADEMARKS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/PatentsAndTrademarksTables</Role>
      <ShortName>PATENTS AND TRADEMARKS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/PatentsAndTrademarks</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995534 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SoftwareDevelopmentCostsTables</Role>
      <ShortName>SOFTWARE DEVELOPMENT COSTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/SoftwareDevelopmentCosts</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995535 - Disclosure - DEBT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/DebtTables</Role>
      <ShortName>DEBT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/Debt</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995536 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenuesAndContractAccountingTables</Role>
      <ShortName>REVENUES AND CONTRACT ACCOUNTING (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenuesAndContractAccounting</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995537 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommitmentsAndContingenciesTables</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/CommitmentsAndContingencies</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995538 - Disclosure - INCOME TAXES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/IncomeTaxesTables</Role>
      <ShortName>INCOME TAXES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/IncomeTaxes</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995539 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommonStockOptionsAndWarrantsTables</Role>
      <ShortName>COMMON STOCK OPTIONS AND WARRANTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/CommonStockOptionsAndWarrants</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995540 - Disclosure - SALE OF ASSETS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SaleOfAssetsTables</Role>
      <ShortName>SALE OF ASSETS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://duostechnologies/role/SaleOfAssets</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995541 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995542 - Disclosure - LIQUIDITY (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/LiquidityDetailsNarrative</Role>
      <ShortName>LIQUIDITY (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/Liquidity</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995543 - Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable</Role>
      <ShortName>ACCOUNTS RECEIVABLE (Details- Accounts receivable)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/AccountsReceivableTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995544 - Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment</Role>
      <ShortName>PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/PropertyAndEquipmentTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995545 - Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware</Role>
      <ShortName>PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/PropertyAndEquipmentTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995546 - Disclosure - PROPERTY AND EQUIPMENT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative</Role>
      <ShortName>PROPERTY AND EQUIPMENT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/PropertyAndEquipmentTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995547 - Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks</Role>
      <ShortName>PATENTS AND TRADEMARKS (Details - Patents and trademarks)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/PatentsAndTrademarksTables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995548 - Disclosure - PATENTS AND TRADEMARKS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative</Role>
      <ShortName>PATENTS AND TRADEMARKS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/PatentsAndTrademarksTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995549 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts</Role>
      <ShortName>SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995550 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization</Role>
      <ShortName>SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995551 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative</Role>
      <ShortName>SOFTWARE DEVELOPMENT COSTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/SoftwareDevelopmentCostsTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>995552 - Disclosure - DEBT (Details - Notes payable - financing agreements)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements</Role>
      <ShortName>DEBT (Details - Notes payable - financing agreements)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/DebtTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>995553 - Disclosure - DEBT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/DebtDetailsNarrative</Role>
      <ShortName>DEBT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/DebtTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>995554 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets</Role>
      <ShortName>REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenuesAndContractAccountingTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>995555 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities</Role>
      <ShortName>REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenuesAndContractAccountingTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>995556 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue</Role>
      <ShortName>REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenuesAndContractAccountingTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>995557 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative</Role>
      <ShortName>REVENUES AND CONTRACT ACCOUNTING (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/RevenuesAndContractAccountingTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>995558 - Disclosure - DEFERRED COMPENSATION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/DeferredCompensationDetailsNarrative</Role>
      <ShortName>DEFERRED COMPENSATION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/DeferredCompensation</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>995559 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/CommitmentsAndContingenciesTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>995560 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/CommitmentsAndContingenciesTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>995561 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/CommitmentsAndContingenciesTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>995562 - Disclosure - INCOME TAXES (Details - Provision for income taxes)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes</Role>
      <ShortName>INCOME TAXES (Details - Provision for income taxes)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/IncomeTaxesTables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>995563 - Disclosure - INCOME TAXES (Details - Deferred tax assets)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets</Role>
      <ShortName>INCOME TAXES (Details - Deferred tax assets)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/IncomeTaxesTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>995564 - Disclosure - INCOME TAXES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>INCOME TAXES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/IncomeTaxesTables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>995565 - Disclosure - STOCKHOLDERS??? EQUITY (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/StockholdersEquityDetailsNarrative</Role>
      <ShortName>STOCKHOLDERS??? EQUITY (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/StockholdersEquity</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>995566 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity</Role>
      <ShortName>COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/CommonStockOptionsAndWarrantsTables</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>995567 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions</Role>
      <ShortName>COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/CommonStockOptionsAndWarrantsTables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>995568 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants</Role>
      <ShortName>COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/CommonStockOptionsAndWarrantsTables</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>995569 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative</Role>
      <ShortName>COMMON STOCK OPTIONS AND WARRANTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/CommonStockOptionsAndWarrantsTables</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>995570 - Disclosure - DEFINED CONTRIBUTION PLAN (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/DefinedContributionPlanDetailsNarrative</Role>
      <ShortName>DEFINED CONTRIBUTION PLAN (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/DefinedContributionPlan</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>995571 - Disclosure - SALE OF ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SaleOfAssetsDetails</Role>
      <ShortName>SALE OF ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/SaleOfAssetsTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>995572 - Disclosure - SALE OF ASSETS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SaleOfAssetsDetailsNarrative</Role>
      <ShortName>SALE OF ASSETS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/SaleOfAssetsTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="duot_10k-123123.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>995573 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://duostechnologies/role/SubsequentEventsDetailsNarrative</Role>
      <ShortName>SUBSEQUENT EVENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://duostechnologies/role/SubsequentEvents</ParentRole>
      <Position>70</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[EXG.rendering.tooManyDimensions] Presentation group http://duostechnologies/role/StockholdersEquityDetailsNarrative with 11 axes could have more than 2 billion cells.  Split up this presentation group and see EXG, Rendering, to see how to reduce the number of combinations by selecting fewer members for each axis. - duot_10k-123123.htm  - duot_10k-123123.htm </Log>
  </Logs>
  <InputFiles>
    <File>duot-20231231.xsd</File>
    <File>duot-20231231_cal.xml</File>
    <File>duot-20231231_def.xml</File>
    <File>duot-20231231_lab.xml</File>
    <File>duot-20231231_pre.xml</File>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="duot_10k-123123.htm">duot_10k-123123.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>image_002.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="944">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>92
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "duot_10k-123123.htm": {
   "nsprefix": "duot",
   "nsuri": "http://duostechnologies/20231231",
   "dts": {
    "schema": {
     "local": [
      "duot-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "duot-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "duot-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "duot-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "duot-20231231_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "duot_10k-123123.htm"
     ]
    }
   },
   "keyStandard": 299,
   "keyCustom": 74,
   "axisStandard": 25,
   "axisCustom": 0,
   "memberStandard": 29,
   "memberCustom": 52,
   "hidden": {
    "total": 218,
    "http://duostechnologies/20231231": 57,
    "http://fasb.org/us-gaap/2023": 157,
    "http://xbrl.sec.gov/dei/2023": 4
   },
   "contextCount": 346,
   "entityCount": 1,
   "segmentCount": 84,
   "elementCount": 664,
   "unitCount": 5,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 944,
    "http://xbrl.sec.gov/dei/2023": 38,
    "http://xbrl.sec.gov/ecd/2023": 4
   },
   "report": {
    "R1": {
     "role": "http://duostechnologies/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://duostechnologies/role/ConsolidatedBalanceSheets",
     "longName": "00000002 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "00000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "duot:PreferredStockSharesAvailableToBeDesignated",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://duostechnologies/role/ConsolidatedStatementsOfOperations",
     "longName": "00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical",
     "longName": "00000005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EarningsPerShareBasic",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:EarningsPerShareBasic",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
     "longName": "00000006 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "AsOf2021-12-31_custom_PreferredStockBMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31_custom_PreferredStockBMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows",
     "longName": "00000007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DepreciationAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R9": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2023-10-012023-12-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-10-012023-12-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies",
     "longName": "995513 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES",
     "shortName": "NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://duostechnologies/role/Liquidity",
     "longName": "995514 - Disclosure - LIQUIDITY",
     "shortName": "LIQUIDITY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SubstantialDoubtAboutGoingConcernTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SubstantialDoubtAboutGoingConcernTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://duostechnologies/role/AccountsReceivable",
     "longName": "995515 - Disclosure - ACCOUNTS RECEIVABLE",
     "shortName": "ACCOUNTS RECEIVABLE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://duostechnologies/role/PropertyAndEquipment",
     "longName": "995516 - Disclosure - PROPERTY AND EQUIPMENT",
     "shortName": "PROPERTY AND EQUIPMENT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://duostechnologies/role/PatentsAndTrademarks",
     "longName": "995517 - Disclosure - PATENTS AND TRADEMARKS",
     "shortName": "PATENTS AND TRADEMARKS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://duostechnologies/role/SoftwareDevelopmentCosts",
     "longName": "995518 - Disclosure - SOFTWARE DEVELOPMENT COSTS",
     "shortName": "SOFTWARE DEVELOPMENT COSTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://duostechnologies/role/Debt",
     "longName": "995519 - Disclosure - DEBT",
     "shortName": "DEBT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://duostechnologies/role/RevenuesAndContractAccounting",
     "longName": "995520 - Disclosure - REVENUES AND CONTRACT ACCOUNTING",
     "shortName": "REVENUES AND CONTRACT ACCOUNTING",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://duostechnologies/role/DeferredCompensation",
     "longName": "995521 - Disclosure - DEFERRED COMPENSATION",
     "shortName": "DEFERRED COMPENSATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://duostechnologies/role/CommitmentsAndContingencies",
     "longName": "995522 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://duostechnologies/role/IncomeTaxes",
     "longName": "995523 - Disclosure - INCOME TAXES",
     "shortName": "INCOME TAXES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://duostechnologies/role/StockholdersEquity",
     "longName": "995524 - Disclosure - STOCKHOLDERS\u2019 EQUITY",
     "shortName": "STOCKHOLDERS\u2019 EQUITY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://duostechnologies/role/CommonStockOptionsAndWarrants",
     "longName": "995525 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS",
     "shortName": "COMMON STOCK OPTIONS AND WARRANTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://duostechnologies/role/DefinedContributionPlan",
     "longName": "995526 - Disclosure - DEFINED CONTRIBUTION PLAN",
     "shortName": "DEFINED CONTRIBUTION PLAN",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DefinedContributionPlanTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DefinedContributionPlanTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://duostechnologies/role/RelatedPartyTransactions",
     "longName": "995527 - Disclosure - RELATED PARTY TRANSACTIONS",
     "shortName": "RELATED PARTY TRANSACTIONS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://duostechnologies/role/SaleOfAssets",
     "longName": "995528 - Disclosure - SALE OF ASSETS",
     "shortName": "SALE OF ASSETS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:SaleOfAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:SaleOfAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://duostechnologies/role/SubsequentEvents",
     "longName": "995529 - Disclosure - SUBSEQUENT EVENTS",
     "shortName": "SUBSEQUENT EVENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "995530 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "shortName": "NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:NatureOfOperationsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:NatureOfOperationsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://duostechnologies/role/AccountsReceivableTables",
     "longName": "995531 - Disclosure - ACCOUNTS RECEIVABLE (Tables)",
     "shortName": "ACCOUNTS RECEIVABLE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://duostechnologies/role/PropertyAndEquipmentTables",
     "longName": "995532 - Disclosure - PROPERTY AND EQUIPMENT (Tables)",
     "shortName": "PROPERTY AND EQUIPMENT (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://duostechnologies/role/PatentsAndTrademarksTables",
     "longName": "995533 - Disclosure - PATENTS AND TRADEMARKS (Tables)",
     "shortName": "PATENTS AND TRADEMARKS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://duostechnologies/role/SoftwareDevelopmentCostsTables",
     "longName": "995534 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Tables)",
     "shortName": "SOFTWARE DEVELOPMENT COSTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://duostechnologies/role/DebtTables",
     "longName": "995535 - Disclosure - DEBT (Tables)",
     "shortName": "DEBT (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://duostechnologies/role/RevenuesAndContractAccountingTables",
     "longName": "995536 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Tables)",
     "shortName": "REVENUES AND CONTRACT ACCOUNTING (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://duostechnologies/role/CommitmentsAndContingenciesTables",
     "longName": "995537 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://duostechnologies/role/IncomeTaxesTables",
     "longName": "995538 - Disclosure - INCOME TAXES (Tables)",
     "shortName": "INCOME TAXES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://duostechnologies/role/CommonStockOptionsAndWarrantsTables",
     "longName": "995539 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Tables)",
     "shortName": "COMMON STOCK OPTIONS AND WARRANTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://duostechnologies/role/SaleOfAssetsTables",
     "longName": "995540 - Disclosure - SALE OF ASSETS (Tables)",
     "shortName": "SALE OF ASSETS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:ScheduleOfNoteReceivableTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:ScheduleOfNoteReceivableTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
     "longName": "995541 - Disclosure - NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "shortName": "NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:CashUninsuredAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:CashUninsuredAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://duostechnologies/role/LiquidityDetailsNarrative",
     "longName": "995542 - Disclosure - LIQUIDITY (Details Narrative)",
     "shortName": "LIQUIDITY (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubstantialDoubtAboutGoingConcernTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubstantialDoubtAboutGoingConcernTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable",
     "longName": "995543 - Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)",
     "shortName": "ACCOUNTS RECEIVABLE (Details- Accounts receivable)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment",
     "longName": "995544 - Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)",
     "shortName": "PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
     "longName": "995545 - Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)",
     "shortName": "PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative",
     "longName": "995546 - Disclosure - PROPERTY AND EQUIPMENT (Details Narrative)",
     "shortName": "PROPERTY AND EQUIPMENT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R44": {
     "role": "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks",
     "longName": "995547 - Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)",
     "shortName": "PATENTS AND TRADEMARKS (Details - Patents and trademarks)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_PatentsMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_PatentsMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative",
     "longName": "995548 - Disclosure - PATENTS AND TRADEMARKS (Details Narrative)",
     "shortName": "PATENTS AND TRADEMARKS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts",
     "longName": "995549 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)",
     "shortName": "SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:CapitalizedComputerSoftwareGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock",
       "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:CapitalizedComputerSoftwareGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock",
       "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization",
     "longName": "995550 - Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)",
     "shortName": "SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative",
     "longName": "995551 - Disclosure - SOFTWARE DEVELOPMENT COSTS (Details Narrative)",
     "shortName": "SOFTWARE DEVELOPMENT COSTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:AmortizationOfIntangibleAssets1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:AmortizationOfIntangibleAssets1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements",
     "longName": "995552 - Disclosure - DEBT (Details - Notes payable - financing agreements)",
     "shortName": "DEBT (Details - Notes payable - financing agreements)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:OtherNotesPayableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember",
      "name": "us-gaap:OtherNotesPayableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "unique": true
     }
    },
    "R50": {
     "role": "http://duostechnologies/role/DebtDetailsNarrative",
     "longName": "995553 - Disclosure - DEBT (Details Narrative)",
     "shortName": "DEBT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "From2022-02-012022-02-03",
      "name": "duot:PurchaseOfInsurancePolicy",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2022-02-012022-02-03",
      "name": "duot:PurchaseOfInsurancePolicy",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets",
     "longName": "995554 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)",
     "shortName": "REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "duot:CostsAndEstimatedEarningsRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "duot:CostsAndEstimatedEarningsRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities",
     "longName": "995555 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)",
     "shortName": "REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "duot:BillingsAndorCashReceiptsOnUncompletedContracts",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "duot:BillingsAndorCashReceiptsOnUncompletedContracts",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue",
     "longName": "995556 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)",
     "shortName": "REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative",
     "longName": "995557 - Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details Narrative)",
     "shortName": "REVENUES AND CONTRACT ACCOUNTING (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:ContractWithCustomerLiabilityCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "duot:ServicesAndConsultingRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "unique": true
     }
    },
    "R55": {
     "role": "http://duostechnologies/role/DeferredCompensationDetailsNarrative",
     "longName": "995558 - Disclosure - DEFERRED COMPENSATION (Details Narrative)",
     "shortName": "DEFERRED COMPENSATION (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:DeferredCompensationLiabilityCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "b",
       "p",
       "us-gaap:CompensationRelatedCostsGeneralTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:DeferredCompensationLiabilityCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "b",
       "p",
       "us-gaap:CompensationRelatedCostsGeneralTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases",
     "longName": "995559 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments",
     "longName": "995560 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative",
     "longName": "995561 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "From2021-07-252021-07-26",
      "name": "duot:AreaOfLease",
      "unitRef": "sqft",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2021-07-252021-07-26",
      "name": "duot:AreaOfLease",
      "unitRef": "sqft",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes",
     "longName": "995562 - Disclosure - INCOME TAXES (Details - Provision for income taxes)",
     "shortName": "INCOME TAXES (Details - Provision for income taxes)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets",
     "longName": "995563 - Disclosure - INCOME TAXES (Details - Deferred tax assets)",
     "shortName": "INCOME TAXES (Details - Deferred tax assets)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://duostechnologies/role/IncomeTaxesDetailsNarrative",
     "longName": "995564 - Disclosure - INCOME TAXES (Details Narrative)",
     "shortName": "INCOME TAXES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
     "longName": "995565 - Disclosure - STOCKHOLDERS\u2019 EQUITY (Details Narrative)",
     "shortName": "STOCKHOLDERS\u2019 EQUITY (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-07-302023-08-02",
      "name": "us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity",
     "longName": "995566 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)",
     "shortName": "COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31_us-gaap_EmployeeStockOptionMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "unique": true
     }
    },
    "R64": {
     "role": "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
     "longName": "995567 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)",
     "shortName": "COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
     "longName": "995568 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)",
     "shortName": "COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:ClassOfWarrantOrRightOutstanding",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_us-gaap_WarrantMember",
      "name": "duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative",
     "longName": "995569 - Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details Narrative)",
     "shortName": "COMMON STOCK OPTIONS AND WARRANTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_WarrantMember",
      "name": "us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-10-012023-12-31_us-gaap_WarrantMember_custom_FourtyEightWarrantsHoldersMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "unique": true
     }
    },
    "R67": {
     "role": "http://duostechnologies/role/DefinedContributionPlanDetailsNarrative",
     "longName": "995570 - Disclosure - DEFINED CONTRIBUTION PLAN (Details Narrative)",
     "shortName": "DEFINED CONTRIBUTION PLAN (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DefinedBenefitPlanServiceCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DefinedContributionPlanTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "us-gaap:DefinedBenefitPlanServiceCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:DefinedContributionPlanTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://duostechnologies/role/SaleOfAssetsDetails",
     "longName": "995571 - Disclosure - SALE OF ASSETS (Details)",
     "shortName": "SALE OF ASSETS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "duot:ConvertibleNoteReceivable",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:ScheduleOfNoteReceivableTableTextBlock",
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "duot:ConvertibleNoteReceivable",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "duot:ScheduleOfNoteReceivableTableTextBlock",
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://duostechnologies/role/SaleOfAssetsDetailsNarrative",
     "longName": "995572 - Disclosure - SALE OF ASSETS (Details Narrative)",
     "shortName": "SALE OF ASSETS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:PrincipalAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31",
      "name": "duot:PrincipalAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "duot:SaleOfAssetsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true,
      "unique": true
     }
    },
    "R70": {
     "role": "http://duostechnologies/role/SubsequentEventsDetailsNarrative",
     "longName": "995573 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)",
     "shortName": "SUBSEQUENT EVENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "AsOf2022-10-29_us-gaap_PrivatePlacementMember",
      "name": "us-gaap:SaleOfStockPricePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_us-gaap_SubsequentEventMember",
      "name": "us-gaap:SaleOfStockConsiderationReceivedOnTransaction",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "duot_10k-123123.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AcceleratedShareRepurchasesFinalPricePaidPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AcceleratedShareRepurchasesFinalPricePaidPerShare",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Market value of stock repurchased",
        "documentation": "Final price paid per share for the purchase of the targeted number of shares, determined by an average market price over a fixed period of time."
       }
      }
     },
     "auth_ref": [
      "r121"
     ]
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r683"
     ]
    },
    "us-gaap_AccountsReceivableGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableGross",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable": {
       "parentTag": "us-gaap_AccountsReceivableNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r249",
      "r866"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r641"
     ]
    },
    "us-gaap_AccountsReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNet",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accounts Receivable, Net",
        "label": "Accounts Receivable, after Allowance for Credit Loss",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r581",
      "r640",
      "r689",
      "r866"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, net",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r249",
      "r250"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liability",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "duot_AccruedOfferingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "AccruedOfferingCosts",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued offering costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated Depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r164",
      "r504"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r745"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in-capital",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r89"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r399",
      "r400",
      "r401",
      "r546",
      "r803",
      "r804",
      "r805",
      "r851",
      "r872"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]"
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r145"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising costs",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r403"
     ]
    },
    "duot_AggregateFairMarketValueOfOurCommonStockNotExceed": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "AggregateFairMarketValueOfOurCommonStockNotExceed",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate fair market value of common stock",
        "documentation": "Aggregate fair market value of common stock threshold."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r715",
      "r727",
      "r737",
      "r763"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r718",
      "r730",
      "r740",
      "r766"
     ]
    },
    "duot_AlgorithmsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "AlgorithmsMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Algorithms [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r751"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r758"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r722",
      "r731",
      "r741",
      "r758",
      "r767",
      "r771",
      "r779"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r394",
      "r402"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable": {
       "parentTag": "us-gaap_AccountsReceivableNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/AccountsReceivableDetails-AccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Allowance for doubtful accounts",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r253",
      "r258",
      "r259",
      "r260",
      "r866"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r44",
      "r49"
     ]
    },
    "duot_AmortizationOfIntangibleAssets1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "AmortizationOfIntangibleAssets1",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of software development costs",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r723"
     ]
    },
    "duot_AreaOfLease": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "AreaOfLease",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Area of lease"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r427"
     ]
    },
    "duot_ArtificialIntelligenceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ArtificialIntelligenceMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Artificial Intelligence [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "TOTAL ASSETS",
        "label": "Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r167",
      "r193",
      "r223",
      "r237",
      "r243",
      "r255",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r429",
      "r433",
      "r445",
      "r496",
      "r586",
      "r683",
      "r696",
      "r815",
      "r816",
      "r856"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Current Assets",
        "label": "Assets, Current",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r175",
      "r193",
      "r255",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r429",
      "r433",
      "r445",
      "r683",
      "r815",
      "r816",
      "r856"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CURRENT ASSETS:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r723"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r708",
      "r710",
      "r723"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r708",
      "r710",
      "r723"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r708",
      "r710",
      "r723"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value"
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]"
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "duot_BillingsAndorCashReceiptsOnUncompletedContracts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "BillingsAndorCashReceiptsOnUncompletedContracts",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": "duot_ContractLiabilitiesTechnologiesSystems",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Billings and/or cash receipts on uncompleted contracts",
        "documentation": "Costs and estimated earnings recognized."
       }
      }
     },
     "auth_ref": []
    },
    "duot_BillingsOrCashReceived": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "BillingsOrCashReceived",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets": {
       "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Billings or cash received",
        "documentation": "Billings or cash received.",
        "label": "Billings Or Cash Received"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalUnitsOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalUnitsOutstanding",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares outstanding",
        "documentation": "Number of capital units or capital shares outstanding. This element is relevant to issuers of face-amount certificates and registered investment companies."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedComputerSoftwareAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated amortization",
        "label": "Capitalized Computer Software, Accumulated Amortization",
        "documentation": "For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs."
       }
      }
     },
     "auth_ref": [
      "r878"
     ]
    },
    "us-gaap_CapitalizedComputerSoftwareGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedComputerSoftwareGross",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software Development",
        "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software."
       }
      }
     },
     "auth_ref": [
      "r878"
     ]
    },
    "duot_CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_OtherAssets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software development costs, net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Cash",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r143",
      "r498",
      "r557",
      "r580",
      "r683",
      "r696",
      "r793"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash, beginning of year",
        "periodEndLabel": "Cash, end of year",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r101",
      "r190"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase in cash",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r101"
     ]
    },
    "us-gaap_CashUninsuredAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashUninsuredAmount",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federally insured limits",
        "documentation": "The amount of cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r168",
      "r169",
      "r170",
      "r193",
      "r212",
      "r213",
      "r215",
      "r217",
      "r220",
      "r221",
      "r255",
      "r290",
      "r292",
      "r293",
      "r294",
      "r297",
      "r298",
      "r313",
      "r314",
      "r318",
      "r321",
      "r328",
      "r445",
      "r536",
      "r537",
      "r538",
      "r539",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r558",
      "r572",
      "r595",
      "r616",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r788",
      "r801",
      "r806"
     ]
    },
    "us-gaap_ClassOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockLineItems",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r169",
      "r170",
      "r220",
      "r313",
      "r314",
      "r316",
      "r318",
      "r321",
      "r326",
      "r328",
      "r536",
      "r537",
      "r538",
      "r539",
      "r667",
      "r788",
      "r801"
     ]
    },
    "us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average exercise price outstanding at beginning",
        "periodEndLabel": "Weighted average exercise price outstanding at end",
        "label": "Strike price",
        "documentation": "Exercise price per share or per unit of warrants or rights outstanding."
       }
      }
     },
     "auth_ref": [
      "r329"
     ]
    },
    "us-gaap_ClassOfWarrantOrRightOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfWarrantOrRightOutstanding",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding warrants",
        "periodStartLabel": "Number of warrants outstanding at beginning",
        "periodEndLabel": "Number of warrants outstanding at end",
        "documentation": "Number of warrants or rights outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "duot_CommercialMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "CommercialMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial [Member]",
        "documentation": "Commercial [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies (Note 10)",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r82",
      "r497",
      "r571"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r283",
      "r284",
      "r642",
      "r812"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum aggregate number of shares of common stock",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_CommonStockConvertibleConversionPriceIncrease": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockConvertibleConversionPriceIncrease",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Conversion price",
        "label": "Common Stock, Convertible, Conversion Price, Increase",
        "documentation": "Per share increase in conversion price of convertible common stock. Excludes change due to standard antidilution provision."
       }
      }
     },
     "auth_ref": [
      "r329"
     ]
    },
    "us-gaap_CommonStockDividendsShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockDividendsShares",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock shares",
        "documentation": "Number of shares of common stock issued as dividends during the period. Excludes stock splits."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_CommonStockIssuedEmployeeTrustDeferred": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockIssuedEmployeeTrustDeferred",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate common stock",
        "documentation": "Aggregate value of common stock held in a trust that has been set up specifically to accumulate stock for the sole purpose of distribution to participating employees but not yet earned."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r65"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r686",
      "r687",
      "r688",
      "r690",
      "r691",
      "r692",
      "r693",
      "r803",
      "r804",
      "r851",
      "r869",
      "r872"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r88"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r572"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r88"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r88",
      "r572",
      "r592",
      "r872",
      "r873"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock: $0.001 par value; 500,000,000 shares authorized, 7,306,663 and 7,156,876 shares issued, 7,305,339 and 7,155,552 \u00a0shares outstanding at December 31, 2023 and December 31, 2022, respectively",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r500",
      "r683"
     ]
    },
    "us-gaap_CommonStockVotingRights": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockVotingRights",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Voting rights",
        "documentation": "Description of voting rights of common stock. Includes eligibility to vote and votes per share owned. Include also, if any, unusual voting rights."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r754"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r753"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Benefits [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CompensationRelatedCostsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationRelatedCostsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Related Costs [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CompensationRelatedCostsGeneralTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationRelatedCostsGeneralTextBlock",
     "presentation": [
      "http://duostechnologies/role/DeferredCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "DEFERRED COMPENSATION",
        "documentation": "The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items. Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability."
       }
      }
     },
     "auth_ref": [
      "r354",
      "r355"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r39",
      "r76",
      "r77",
      "r248",
      "r641"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r39",
      "r76",
      "r77",
      "r248",
      "r533",
      "r641"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r39",
      "r76",
      "r77",
      "r248",
      "r641",
      "r790"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentrations",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r148"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration risk, percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r39",
      "r76",
      "r77",
      "r248"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r39",
      "r76",
      "r77",
      "r248",
      "r641"
     ]
    },
    "duot_ConstructionInProgress": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConstructionInProgress",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ContractLiabilitiesServicesAndConsulting": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ContractLiabilitiesServicesAndConsulting",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": "us-gaap_ContractWithCustomerLiability",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Liabilities, services and consulting"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ContractLiabilitiesTechnologiesSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ContractLiabilitiesTechnologiesSystems",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": "us-gaap_ContractWithCustomerLiability",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities",
      "http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Contract liabilities, technology systems",
        "label": "Contract liabilities, technology systems"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract assets",
        "totalLabel": "Contract Assets",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current."
       }
      }
     },
     "auth_ref": [
      "r331",
      "r333",
      "r352"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Contract Liabilities",
        "label": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r331",
      "r332",
      "r352"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liabilities",
        "verboseLabel": "Contract liabilities",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r331",
      "r332",
      "r352"
     ]
    },
    "us-gaap_ConversionOfStockAmountConverted1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConversionOfStockAmountConverted1",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Conversion of stock, value",
        "documentation": "The value of the stock converted in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r33",
      "r34"
     ]
    },
    "duot_ConversionOfStockSharesConverted": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConversionOfStockSharesConverted",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common shares issuable conversion"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConversionOfStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConversionOfStockSharesIssued",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Conversion of shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConversionOfStockSharesIssued1": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConversionOfStockSharesIssued1",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrants issued",
        "documentation": "The number of new shares issued in the conversion of stock in a noncash (or part noncash) transaction. Noncash is defined as transactions during a period that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r33",
      "r34"
     ]
    },
    "duot_ConvertedToCommonStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConvertedToCommonStockShares",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Converted to common stock shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleNoteReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConvertibleNoteReceivable",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible note receivable"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleNoteReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConvertibleNoteReceivableNet",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible note receivable, net"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleSeriesAPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConvertibleSeriesAPreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Series A Preferred Stock [Member]",
        "documentation": "Series A Convertible Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleSeriesBPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConvertibleSeriesBPreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Series B Preferred Stock [Member]",
        "documentation": "Series B Convertible Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleSeriesCPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConvertibleSeriesCPreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Series C Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleSeriesDPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConvertibleSeriesDPreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Series D Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleSeriesEPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConvertibleSeriesEPreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Series E Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ConvertibleSeriesFPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ConvertibleSeriesFPreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Series F Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_CostAndEstimatedEarningsRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "CostAndEstimatedEarningsRecognized",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities": {
       "parentTag": "duot_ContractLiabilitiesTechnologiesSystems",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Cumulative revenues",
        "documentation": "Costs and estimated earnings recognized.",
        "label": "Cost And Estimated Earnings Recognized"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSoldAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSoldAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COST OF REVENUES:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Cost of Revenues",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r193",
      "r255",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r445",
      "r815"
     ]
    },
    "duot_CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of contract assets on uncompleted contracts"
       }
      }
     },
     "auth_ref": []
    },
    "duot_CostsAndEstimatedEarningsRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "CostsAndEstimatedEarningsRecognized",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets": {
       "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-ContractAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative revenues recognized",
        "documentation": "Costs and estimated earnings recognized."
       }
      }
     },
     "auth_ref": []
    },
    "srt_CounterpartyNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CounterpartyNameAxis",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "auth_ref": [
      "r195",
      "r196",
      "r301",
      "r316",
      "r468",
      "r658",
      "r660"
     ]
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CountryRegion",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "duot_Customer1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "Customer1Member",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer 1 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_Customer2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "Customer2Member",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer 2 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_Customer3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "Customer3Member",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer 3 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_Customer4Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "Customer4Member",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer 4 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r248"
     ]
    },
    "duot_CustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "CustomerMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_DataCenterAuditingServicesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "DataCenterAuditingServicesMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Data Center Auditing Services [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://duostechnologies/role/Debt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "DEBT",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r191",
      "r299",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Conversion price",
        "documentation": "The price per share of the conversion feature embedded in the debt instrument."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r300"
     ]
    },
    "us-gaap_DebtInstrumentPeriodicPayment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentPeriodicPayment",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Monthly installments of principal and interest",
        "documentation": "Amount of the required periodic payments including both interest and principal payments."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r83"
     ]
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentUnamortizedDiscount",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Unamortized discount",
        "label": "Debt Instrument, Unamortized Discount",
        "documentation": "Amount, after accumulated amortization, of debt discount."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r80",
      "r818"
     ]
    },
    "us-gaap_DeferredCompensationLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredCompensationLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/DeferredCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued deferred compensation",
        "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable within one year (or the operating cycle, if longer). Represents currently earned compensation under compensation arrangements that is not actually paid until a later date."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r122"
     ]
    },
    "us-gaap_DeferredOfferingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredOfferingCosts",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering costs",
        "documentation": "Specific incremental costs directly attributable to a proposed or actual offering of securities which are deferred at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGoodwillAndIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross deferred tax assets",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r415"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net deferred tax assets",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r849"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net operating loss carryforward",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r850"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-DeferredTaxAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Valuation allowance",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r416"
     ]
    },
    "us-gaap_DefinedBenefitPlanServiceCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanServiceCost",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/DefinedContributionPlanDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash contributions",
        "documentation": "Amount of cost for actuarial present value of benefits attributed to service rendered by employee for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r356",
      "r358",
      "r360",
      "r675",
      "r676"
     ]
    },
    "us-gaap_DefinedContributionPlanTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanTextBlock",
     "presentation": [
      "http://duostechnologies/role/DefinedContributionPlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "DEFINED CONTRIBUTION PLAN",
        "documentation": "The entire disclosure for defined contribution plan."
       }
      }
     },
     "auth_ref": [
      "r361",
      "r362"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r50"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment",
      "http://duostechnologies/role/PropertyAndEquipmentDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation Expense",
        "verboseLabel": "Depreciation expense",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r228"
     ]
    },
    "duot_DepreciationOfSoftwareCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "DepreciationOfSoftwareCost",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SoftwareDevelopmentCostsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation of software cost"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeFixedInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeFixedInterestRate",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest rate",
        "documentation": "Fixed interest rate related to the interest rate derivative."
       }
      }
     },
     "auth_ref": []
    },
    "srt_DirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "DirectorMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Director [Member]"
       }
      }
     },
     "auth_ref": [
      "r808",
      "r870"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r351",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r351",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of disaggregation of revenue",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r820"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMON STOCK OPTIONS AND WARRANTS",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r364",
      "r367",
      "r395",
      "r396",
      "r398",
      "r678"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_DisclosureSaleOfAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "DisclosureSaleOfAssetsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale Of Assets"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r710"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r708",
      "r710",
      "r723"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r708",
      "r710",
      "r723",
      "r759"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r709"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r697"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r710"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r710"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r744"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r700"
     ]
    },
    "duot_DownPaymentPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "DownPaymentPaid",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Down payment paid"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ESPPMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ESPPMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "E S P P [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net loss per share, Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r184",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r210",
      "r212",
      "r215",
      "r216",
      "r217",
      "r218",
      "r443",
      "r444",
      "r492",
      "r508",
      "r662"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net loss per share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r184",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r212",
      "r215",
      "r216",
      "r217",
      "r218",
      "r443",
      "r444",
      "r492",
      "r508",
      "r662"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings (Loss) Per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r36"
     ]
    },
    "duot_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total compensation cost for stock options"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total compensation cost for stock options not yet recognized, period",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r397"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPCashContributionsToESOP": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOwnershipPlanESOPCashContributionsToESOP",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total employee participation amount",
        "documentation": "This item represents the amount of cash contributions during the period made by the entity to the Employee Stock Ownership Plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "duot_EmployeeStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "EmployeeStockPurchasePlanMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Purchase Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_EmployeesAndDirectorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "EmployeesAndDirectorsMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employees And Directors [Member]",
        "documentation": "Employees and directors [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r703"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r699"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r699"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r787"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r699"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r784"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r723"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r699"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r699"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r699"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r699"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r785"
     ]
    },
    "duot_EquipmentFinancingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "EquipmentFinancingMember",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment Financing [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquipmentMember",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative",
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r157",
      "r179",
      "r180",
      "r181",
      "r197",
      "r198",
      "r199",
      "r201",
      "r207",
      "r209",
      "r219",
      "r256",
      "r257",
      "r330",
      "r399",
      "r400",
      "r401",
      "r420",
      "r421",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r442",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r462",
      "r528",
      "r529",
      "r530",
      "r546",
      "r616"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r752"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r715",
      "r727",
      "r737",
      "r763"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]"
       }
      }
     },
     "auth_ref": [
      "r712",
      "r724",
      "r734",
      "r760"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]"
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Extension",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments and Fair Value Measurements",
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment financing payable-current portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r455"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated Amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r277"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2024",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r274",
      "r276",
      "r277",
      "r279",
      "r478",
      "r479"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r479"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r478"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r48"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks",
      "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite lived intangible assets",
        "totalLabel": "Patent, net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r478"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r719",
      "r731",
      "r741",
      "r767"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r719",
      "r731",
      "r741",
      "r767"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r719",
      "r731",
      "r741",
      "r767"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r719",
      "r731",
      "r741",
      "r767"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r719",
      "r731",
      "r741",
      "r767"
     ]
    },
    "duot_FormerStaffMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "FormerStaffMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Former Staff [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_FourDirectorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "FourDirectorsMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Four Directors [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_FourtyEightWarrantsHoldersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "FourtyEightWarrantsHoldersMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fourty Eight Warrants Holders [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and Fixtures [Member]",
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSalesOfAssetsAndAssetImpairmentCharges",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of asset",
        "documentation": "Amount of gain (loss) from the difference between the sale price or salvage price and the book value of an asset that was sold or retired, and gain (loss) from the write down of assets from their carrying value to fair value."
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingCostsAndExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and Administration",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r597"
     ]
    },
    "duot_GoodsTransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "GoodsTransferredOverTimeMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goods Transferred Over Time [Member]",
        "documentation": "Goods transferred over time [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_GovernmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "GovernmentsMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Governments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "GROSS MARGIN",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r193",
      "r223",
      "r236",
      "r242",
      "r244",
      "r255",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r445",
      "r664",
      "r815"
     ]
    },
    "us-gaap_GuaranteesIndemnificationsAndWarrantiesPolicies": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GuaranteesIndemnificationsAndWarrantiesPolicies",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranties",
        "documentation": "Disclosure of accounting policy for guarantees, indemnifications and product warranties, and methodologies used in determining the amount of such liabilities."
       }
      }
     },
     "auth_ref": [
      "r289"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r708",
      "r710",
      "r723"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r406",
      "r411",
      "r412",
      "r418",
      "r422",
      "r424",
      "r425",
      "r426",
      "r541"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total provision for income tax",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r154",
      "r208",
      "r209",
      "r231",
      "r409",
      "r423",
      "r509"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r178",
      "r407",
      "r408",
      "r412",
      "r413",
      "r417",
      "r419",
      "r535"
     ]
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in valuation allowance",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r848"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax benefit at U.S. statutory rate of 21%",
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r410"
     ]
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationNondeductibleExpense",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-deductible expenses",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses."
       }
      }
     },
     "auth_ref": [
      "r848"
     ]
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetails-ProvisionForIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State income taxes",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r848"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Taxes paid",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableTrade": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayableTrade",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Contract assets",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liabilities",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r475",
      "r799"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventory",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "duot_IncreaseDecreaseInNotesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "IncreaseDecreaseInNotesReceivable",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Note receivable",
        "label": "IncreaseDecreaseInNotesReceivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease obligation",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r791",
      "r799"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses and other current assets",
        "label": "Increase (Decrease) in Prepaid Expense",
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInReceivables",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable",
        "label": "Increase (Decrease) in Receivables",
        "documentation": "The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInSecurityDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInSecurityDeposits",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security deposit",
        "documentation": "The increase (decrease) during the reporting period in security deposits."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite-Lived Intangible Assets [Axis]",
        "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r275",
      "r278"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of the company."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r110"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r722",
      "r731",
      "r741",
      "r758",
      "r767",
      "r771",
      "r779"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r777"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r711",
      "r783"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r711",
      "r783"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r711",
      "r783"
     ]
    },
    "duot_InsuranceMonthlyInstallments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "InsuranceMonthlyInstallments",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance monthly installments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarks"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PATENTS AND TRADEMARKS",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r273"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_OtherAssets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents and trademarks, net",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r47"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest expense",
        "label": "Interest Expense",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r137",
      "r182",
      "r227",
      "r453",
      "r601",
      "r694",
      "r871"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest paid",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r185",
      "r188",
      "r189"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r174",
      "r657",
      "r683"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r162",
      "r173",
      "r261",
      "r262",
      "r263",
      "r476",
      "r661"
     ]
    },
    "duot_IssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "IssuanceCosts",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Issuance cost",
        "label": "IssuanceCosts"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r456"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of future minimum lease payments due under the operating lease",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r853"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total undiscounted future minimum lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Thereafter",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2028",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Impact of discounting",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities",
        "label": "Liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r193",
      "r255",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r430",
      "r433",
      "r434",
      "r445",
      "r570",
      "r663",
      "r696",
      "r815",
      "r856",
      "r857"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities and Stockholders' Equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r135",
      "r502",
      "r683",
      "r802",
      "r809",
      "r852"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Current Liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r161",
      "r193",
      "r255",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r430",
      "r433",
      "r434",
      "r445",
      "r683",
      "r815",
      "r856",
      "r857"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CURRENT LIABILITIES:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoanCommitmentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LoanCommitmentsPolicy",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loan Costs",
        "documentation": "Disclosure of accounting policy for loan commitments accounted for as derivatives, including the methods and assumptions used to estimate fair value and any associated hedging strategies."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r130"
     ]
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "presentation": [
      "http://duostechnologies/role/AccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCOUNTS RECEIVABLE",
        "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtPercentageBearingFixedInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtPercentageBearingFixedInterestRate",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes payable, Interest",
        "documentation": "The interest rate applicable to the portion of the carrying amount of long-term borrowings outstanding as of the balance sheet date, including current maturities, which accrues interest at a set, unchanging rate."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "duot_LonglivedAssetsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "LonglivedAssetsTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Assets"
       }
      }
     },
     "auth_ref": []
    },
    "duot_MaintenanceAndSupportMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "MaintenanceAndSupportMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maintenance And Support [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r248",
      "r670",
      "r820",
      "r867",
      "r868"
     ]
    },
    "srt_ManagementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ManagementMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Management [Member]"
       }
      }
     },
     "auth_ref": [
      "r808",
      "r854"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r288",
      "r363",
      "r474",
      "r527",
      "r562",
      "r563",
      "r624",
      "r626",
      "r628",
      "r629",
      "r631",
      "r652",
      "r653",
      "r665",
      "r667",
      "r677",
      "r685",
      "r817",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]"
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name"
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r288",
      "r363",
      "r474",
      "r527",
      "r562",
      "r563",
      "r624",
      "r626",
      "r628",
      "r629",
      "r631",
      "r652",
      "r653",
      "r665",
      "r667",
      "r677",
      "r685",
      "r817",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "duot_MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Multiple Performance Obligations and Allocation of Transaction Price"
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "auth_ref": [
      "r248",
      "r670",
      "r820",
      "r867",
      "r868"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "duot_NatureOfOperationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "NatureOfOperationsPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nature of Operations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r187"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net loss to net cash used in operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r187"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r102",
      "r103"
     ]
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows",
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "NET LOSS",
        "label": "Net loss",
        "verboseLabel": "Net Income (Loss) Attributable to Parent",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r103",
      "r136",
      "r159",
      "r176",
      "r177",
      "r181",
      "r193",
      "r200",
      "r202",
      "r203",
      "r204",
      "r205",
      "r208",
      "r209",
      "r214",
      "r223",
      "r236",
      "r242",
      "r244",
      "r255",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r444",
      "r445",
      "r507",
      "r594",
      "r614",
      "r615",
      "r664",
      "r694",
      "r815"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recent Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "duot_NewAccreditedInvestorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "NewAccreditedInvestorsMember",
     "presentation": [
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accredited Investors [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Non-Cash Investing and Financing Activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Other Income (Expenses)",
        "label": "Nonoperating Income (Expense)",
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "srt_NorthAmericaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NorthAmericaMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "North America [Member]"
       }
      }
     },
     "auth_ref": [
      "r874",
      "r875",
      "r876",
      "r877"
     ]
    },
    "us-gaap_NotesAndLoansReceivableNetNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NotesAndLoansReceivableNetNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_OtherAssets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note Receivable, net",
        "documentation": "Amount, after allowance for credit loss, of financing receivable, classified as noncurrent."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NotesIssued1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NotesIssued1",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes issued for financing of insurance premiums",
        "documentation": "The fair value of notes issued in noncash investing and financing activities."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r33",
      "r34"
     ]
    },
    "us-gaap_NotesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NotesPayable",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes payable outstanding balance",
        "documentation": "Including the current and noncurrent portions, aggregate carrying amount of all types of notes payable, as of the balance sheet date, with initial maturities beyond one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r134",
      "r865"
     ]
    },
    "us-gaap_OperatingCashFlowsDirectMethodAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingCashFlowsDirectMethodAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingCostsAndExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingCostsAndExpenses",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Operating Expenses",
        "label": "Operating Costs and Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Excludes Selling, General and Administrative Expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OPERATING EXPENSES:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "LOSS FROM OPERATIONS",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r223",
      "r236",
      "r242",
      "r244",
      "r664"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r457",
      "r682"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total present value of operating lease obligation",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r455"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments",
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease obligations-current portion",
        "negatedLabel": "Current portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r455"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-FutureMinimumLeasePayments",
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease obligations, less current portion",
        "verboseLabel": "Operating lease obligation, less current portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r455"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease right of use asset",
        "verboseLabel": "Accumulated amortization",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of operating lease right of use asset",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average discount rate",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r460",
      "r682"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining lease term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r459",
      "r682"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross operating loss carry forward",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_OptionIndexedToIssuersEquityTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OptionIndexedToIssuersEquityTypeAxis",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Option Indexed to Issuer's Equity, Type [Axis]",
        "documentation": "Information by type of freestanding contracts issued by an entity that are indexed to, and potentially settled in, an entity's own stock."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r74",
      "r75",
      "r131"
     ]
    },
    "us-gaap_OptionIndexedToIssuersEquityTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OptionIndexedToIssuersEquityTypeDomain",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the type of freestanding contract issued by a Company that is indexed to, and potentially settled in, a Company's own stock. Specifically, the pertinent rights and privileges of the securities outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "duot_OptionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "OptionsMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NATURE OF OPERATIONS AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES",
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r105",
      "r106",
      "r129"
     ]
    },
    "duot_OriginalIssueDiscount": {
     "xbrltype": "percentItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "OriginalIssueDiscount",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Original issue discount"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssets",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Other Assets",
        "label": "Other Assets",
        "documentation": "Amount of assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r166",
      "r495",
      "r696"
     ]
    },
    "us-gaap_OtherAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OTHER ASSETS:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherIncomeAndExpensesAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OTHER INCOME (EXPENSES):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income, net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_OtherNotesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNotesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes payable - financing agreements",
        "verboseLabel": "Notes payable, Principal",
        "documentation": "Amount of long-term notes classified as other, payable within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r750"
     ]
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r710"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r717",
      "r729",
      "r739",
      "r765"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r720",
      "r732",
      "r742",
      "r768"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r720",
      "r732",
      "r742",
      "r768"
     ]
    },
    "us-gaap_PartnersCapitalAccountUnitsSoldInPrivatePlacement": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PartnersCapitalAccountUnitsSoldInPrivatePlacement",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Private placement sold",
        "documentation": "The number of units sold in a private placement of each class of partners' capital account. Units represent shares of ownership of the general, limited, and preferred partners."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r120"
     ]
    },
    "duot_PatentsAndTrademarksMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PatentsAndTrademarksMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents And Trademarks [Member]",
        "documentation": "Patents and trademarks member."
       }
      }
     },
     "auth_ref": []
    },
    "duot_PatentsAndTrademarksPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PatentsAndTrademarksPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents and Trademarks"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PatentsMember",
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents [Member]",
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law."
       }
      }
     },
     "auth_ref": [
      "r128"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "auth_ref": [
      "r746"
     ]
    },
    "us-gaap_PaymentsForRent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRent",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating cash outflow used for operating leases",
        "documentation": "Cash payments to lessor's for use of assets under operating leases."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repurchase of common stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfStockIssuanceCosts",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Stock issuance cost",
        "label": "Payments of Stock Issuance Costs",
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of patents/trademarks",
        "label": "Payments to Acquire Intangible Assets",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of fixed assets",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_PaymentsToDevelopSoftware": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToDevelopSoftware",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of software development",
        "label": "Payments to Develop Software",
        "documentation": "The cash outflow associated with the development or modification of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r751"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847"
     ]
    },
    "duot_PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Potential tax benefit arising from net operating loss carryforward",
        "documentation": "Potential tax benefit arising from net operating loss carryforward within annual usage limitations."
       }
      }
     },
     "auth_ref": []
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r704"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r705"
     ]
    },
    "duot_PreferredStockBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PreferredStockBMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock B [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_PreferredStockCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PreferredStockCMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock C [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockConvertibleConversionPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockConvertibleConversionPrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Conversion price",
        "label": "Preferred Stock, Convertible, Conversion Price",
        "documentation": "Per share conversion price of preferred stock."
       }
      }
     },
     "auth_ref": [
      "r315"
     ]
    },
    "duot_PreferredStockDMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PreferredStockDMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock D [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_PreferredStockEMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PreferredStockEMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock E [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_PreferredStockFMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PreferredStockFMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock F [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, par value",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r313"
     ]
    },
    "us-gaap_PreferredStockRedemptionPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockRedemptionPricePerShare",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, conversion price per share",
        "documentation": "The price per share at which the preferred stock of an entity that has priority over common stock in the distribution of dividends and in the event of liquidation of the entity is redeemed or may be called at. The redemption features of this preferred stock are solely within the control of the issuer."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r57",
      "r60"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r572"
     ]
    },
    "duot_PreferredStockSharesAvailableToBeDesignated": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PreferredStockSharesAvailableToBeDesignated",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares designated",
        "documentation": "Number of shares of preferred stock which are available to be designated."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares issued",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r313"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r572",
      "r592",
      "r872",
      "r873"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, value",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r499",
      "r683"
     ]
    },
    "us-gaap_PreferredStockVotingRights": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockVotingRights",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock voting rights",
        "documentation": "Description of voting rights of nonredeemable preferred stock. Includes eligibility to vote and votes per share owned. Include also, if any, unusual voting rights."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r87"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r797"
     ]
    },
    "duot_PrincipalAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PrincipalAmount",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principal amount"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrivatePlacementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrivatePlacementMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Private Placement [Member]",
        "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromDepositsWithOtherInstitutions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromDepositsWithOtherInstitutions",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Received refund",
        "documentation": "Cash received from refund of deposits with other institutions during the period."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_ProceedsFromIssuanceInitialPublicOffering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceInitialPublicOffering",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from offering cost",
        "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "duot_ProceedsFromIssuanceOfCommonStocks": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ProceedsFromIssuanceOfCommonStocks",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from common stock issued"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceOfConvertiblePreferredStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfConvertiblePreferredStock",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from convertible preferred stock",
        "documentation": "The cash inflow from issuance of preferred stocks identified as being convertible into another form of financial instrument, typically the entity's common stock."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfPrivatePlacement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfPrivatePlacement",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross proceeds private placement",
        "documentation": "The cash inflow associated with the amount received from entity's raising of capital via private rather than public placement."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOrSaleOfEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOrSaleOfEquity",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from preferred stock issued",
        "documentation": "The cash inflow from the issuance of common stock, preferred stock, treasury stock, stock options, and other types of equity."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r536"
     ]
    },
    "us-gaap_ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from shares issued under Employee Stock Purchase Plan",
        "documentation": "The cash inflow from the financed defined contribution plan to acquire shares of the entity. The plan initially holds the shares in a suspense account, which is collateral for the loan. As the plan makes payment on the debt, the shares are released from the suspense account and become available to be allocated to participant accounts."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_ProductInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductInformationLineItems",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product [Member]",
        "documentation": "Article or substance produced by nature, labor or machinery."
       }
      }
     },
     "auth_ref": [
      "r668"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations",
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r245",
      "r477",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r655",
      "r668",
      "r684",
      "r792",
      "r813",
      "r814",
      "r820",
      "r867"
     ]
    },
    "duot_ProductWarrantyPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ProductWarrantyPeriod",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product warranty Period",
        "documentation": "Product warranty Period."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations",
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "auth_ref": [
      "r245",
      "r477",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r655",
      "r668",
      "r684",
      "r792",
      "r813",
      "r814",
      "r820",
      "r867"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/LiquidityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net loss",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r176",
      "r177",
      "r186",
      "r193",
      "r200",
      "r208",
      "r209",
      "r223",
      "r236",
      "r242",
      "r244",
      "r255",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r428",
      "r431",
      "r432",
      "r444",
      "r445",
      "r493",
      "r506",
      "r545",
      "r594",
      "r614",
      "r615",
      "r664",
      "r680",
      "r681",
      "r695",
      "r798",
      "r815"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment",
      "http://duostechnologies/role/PropertyAndEquipmentTables",
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization",
      "http://duostechnologies/role/SoftwareDevelopmentCostsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PROPERTY AND EQUIPMENT",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r149",
      "r152",
      "r153"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r163",
      "r505"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment",
      "http://duostechnologies/role/PropertyAndEquipmentTables",
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization",
      "http://duostechnologies/role/SoftwareDevelopmentCostsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net",
        "verboseLabel": "Property, Equipment and Software, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r494",
      "r505",
      "r683"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentOtherTypesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentOtherTypesMember",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment",
      "http://duostechnologies/role/PropertyAndEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Other Types [Member]",
        "documentation": "Long-lived, physical assets used to produce goods and services and not intended for resale, classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and Equipment",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r149",
      "r152",
      "r503"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of property and equipment",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment",
      "http://duostechnologies/role/PropertyAndEquipmentTables",
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization",
      "http://duostechnologies/role/SoftwareDevelopmentCostsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated economic life of the property and equipment",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "duot_PurchaseAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PurchaseAgreementMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_PurchaseOfCommonStockWarrants": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PurchaseOfCommonStockWarrants",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase of common stock warrants"
       }
      }
     },
     "auth_ref": []
    },
    "duot_PurchaseOfInsurancePolicy": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "PurchaseOfInsurancePolicy",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase of an insurance policy"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r746"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r746"
     ]
    },
    "duot_RailMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "RailMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rail [Member]",
        "documentation": "Rail [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r288",
      "r357",
      "r363",
      "r390",
      "r391",
      "r392",
      "r473",
      "r474",
      "r527",
      "r562",
      "r563",
      "r624",
      "r626",
      "r628",
      "r629",
      "r631",
      "r652",
      "r653",
      "r665",
      "r667",
      "r677",
      "r685",
      "r688",
      "r811",
      "r817",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "auth_ref": [
      "r285",
      "r286",
      "r287",
      "r288",
      "r357",
      "r363",
      "r390",
      "r391",
      "r392",
      "r473",
      "r474",
      "r527",
      "r562",
      "r563",
      "r624",
      "r626",
      "r628",
      "r629",
      "r631",
      "r652",
      "r653",
      "r665",
      "r667",
      "r677",
      "r685",
      "r688",
      "r811",
      "r817",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863"
     ]
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "auth_ref": [
      "r712",
      "r724",
      "r734",
      "r760"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r359",
      "r466",
      "r467",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r591",
      "r593",
      "r623"
     ]
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionAxis",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Axis]",
        "documentation": "Information by type of related party transaction."
       }
      }
     },
     "auth_ref": [
      "r466",
      "r467",
      "r855"
     ]
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionDomain",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction between related party."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Axis]",
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r359",
      "r466",
      "r467",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r591",
      "r593",
      "r623",
      "r855"
     ]
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://duostechnologies/role/RelatedPartyTransactions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "RELATED PARTY TRANSACTIONS",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r463",
      "r464",
      "r465",
      "r467",
      "r469",
      "r542",
      "r543",
      "r544",
      "r598",
      "r599",
      "r600",
      "r620",
      "r622"
     ]
    },
    "duot_RentableSpace": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "RentableSpace",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rentable space"
       }
      }
     },
     "auth_ref": []
    },
    "duot_RepaymentsOfInsuranceAndEquipmentFinancing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "RepaymentsOfInsuranceAndEquipmentFinancing",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayments of insurance and equipment financing",
        "label": "RepaymentsOfInsuranceAndEquipmentFinancing"
       }
      }
     },
     "auth_ref": []
    },
    "duot_RepaymentsOfLongTermCapitalLeaseObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "RepaymentsOfLongTermCapitalLeaseObligation",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayment of finance lease",
        "label": "RepaymentsOfLongTermCapitalLeaseObligation"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "auth_ref": [
      "r195",
      "r196",
      "r301",
      "r316",
      "r468",
      "r659",
      "r660"
     ]
    },
    "us-gaap_ResearchAndDevelopmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingCostsAndExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development",
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r404",
      "r864"
     ]
    },
    "us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
     "presentation": [
      "http://duostechnologies/role/SoftwareDevelopmentCosts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SOFTWARE DEVELOPMENT COSTS",
        "documentation": "The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r405"
     ]
    },
    "us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchDevelopmentAndComputerSoftwarePolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software Development Costs",
        "documentation": "Disclosure of accounting policy for its research and development and computer software activities including the accounting treatment for costs incurred for (1) research and development activities, (2) development of computer software for internal use, (3) computer software to be sold, leased or otherwise marketed as a separate product or as part of a product or process and (4) in-process research and development acquired in a purchase business combination."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r1",
      "r85"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]"
       }
      }
     },
     "auth_ref": [
      "r713",
      "r725",
      "r735",
      "r761"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r714",
      "r726",
      "r736",
      "r762"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r721",
      "r733",
      "r743",
      "r769"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/LiquidityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated deficit",
        "negatedLabel": "Accumulated deficit",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r119",
      "r501",
      "r531",
      "r532",
      "r540",
      "r573",
      "r683"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r197",
      "r198",
      "r199",
      "r201",
      "r207",
      "r209",
      "r256",
      "r257",
      "r399",
      "r400",
      "r401",
      "r420",
      "r421",
      "r435",
      "r437",
      "r438",
      "r440",
      "r442",
      "r528",
      "r530",
      "r546",
      "r872"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r224",
      "r225",
      "r235",
      "r240",
      "r241",
      "r245",
      "r246",
      "r248",
      "r350",
      "r351",
      "r477"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r654"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccounting"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "REVENUES AND CONTRACT ACCOUNTING",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r353"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r183",
      "r193",
      "r224",
      "r225",
      "r235",
      "r240",
      "r241",
      "r245",
      "r246",
      "r248",
      "r255",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r445",
      "r493",
      "r815"
     ]
    },
    "us-gaap_RevenuesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "REVENUES:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "duot_SaleOfAssetsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SaleOfAssetsTextBlock",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SALE OF ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockConsiderationReceivedOnTransaction",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock, Consideration Received on Transaction",
        "documentation": "Cash received on stock transaction after deduction of issuance costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockNameOfTransactionDomain",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockNumberOfSharesIssuedInTransaction",
     "presentation": [
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock, Number of Shares Issued in Transaction",
        "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockPricePerShare",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Services per share",
        "verboseLabel": "Sale of Stock, Price Per Share",
        "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction."
       }
      }
     },
     "auth_ref": []
    },
    "duot_SalesReturnPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SalesReturnPolicyTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales Returns"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r248",
      "r789"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://duostechnologies/role/AccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of accounts receivable",
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "duot_ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of contract liabilities on uncompleted contracts"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDebtTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/DebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of notes payable",
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of net deferred tax assets",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of difference between income taxes at effective statutory rate and provision for income taxes",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksDetails-PatentsAndTrademarks"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r48",
      "r478"
     ]
    },
    "us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/PatentsAndTrademarksTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of patents and trademarks",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance and exist in perpetuity, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r110"
     ]
    },
    "duot_ScheduleOfNoteReceivableTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ScheduleOfNoteReceivableTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of note receivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfProductInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductInformationTable",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Product Information [Table]",
        "documentation": "Schedule detailing quantitative information concerning products or product lines by product or product line."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-EstimatedFutureDepreciationExpenseOfSoftware",
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment",
      "http://duostechnologies/role/PropertyAndEquipmentTables",
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization",
      "http://duostechnologies/role/SoftwareDevelopmentCostsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r365",
      "r366",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of options activity",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r10",
      "r70"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of weighted- average assumptions",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_ScheduleOfShortTermDebtTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShortTermDebtTable",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Short-Term Debt [Table]",
        "documentation": "A table or schedule providing information pertaining to borrowings under which repayment was required in less than twelve months (or normal operating cycle, if longer) after its issuance. It may include: (1) description of the short-term debt arrangement; (2) identification of the lender or type of lender; (3) repayment terms; (4) weighted average interest rate; (5) carrying amount of funds borrowed under the specified short-term debt arrangement as of the balance sheet date and measures of the maximum and average amount outstanding during the period; (6) description of the refinancing of a short-term obligation when that obligation is excluded from current liabilities in the balance sheet; and (7) amount of a short-term obligation that has been excluded from current liabilities in the balance sheet because of a refinancing of the obligation."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "duot_ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/SoftwareDevelopmentCostsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of software development costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfStockByClassTable",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Stock by Class [Table]",
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r54",
      "r55",
      "r57",
      "r58",
      "r59",
      "r61",
      "r117",
      "r118",
      "r119",
      "r168",
      "r169",
      "r170",
      "r220",
      "r313",
      "r314",
      "r316",
      "r318",
      "r321",
      "r326",
      "r328",
      "r536",
      "r537",
      "r538",
      "r539",
      "r667",
      "r788",
      "r801"
     ]
    },
    "us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of warrants outstanding",
        "documentation": "Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "duot_ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of supplemental information related to leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentTables",
      "http://duostechnologies/role/SoftwareDevelopmentCostsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of estimated future depreciation expense of software",
        "verboseLabel": "Schedule of estimated future amortization expense of software",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r698"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12gTitle",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r702"
     ]
    },
    "us-gaap_SecurityDeposit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecurityDeposit",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security deposit",
        "verboseLabel": "Security deposit value",
        "documentation": "The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease."
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "us-gaap_SecurityDepositLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecurityDepositLiability",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security deposit payment",
        "documentation": "This element represents money paid in advance to protect the provider of a product or service, such as a lessor, against damage or nonpayment by the buyer or tenant (lessee) during the term of the agreement. Such damages may include physical damage to the property, theft of property, and other contractual breaches. Security deposits held may be interest or noninterest bearing."
       }
      }
     },
     "auth_ref": []
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r701"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r706"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r248",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r281",
      "r282",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r666",
      "r792",
      "r867"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "auth_ref": [
      "r246",
      "r247",
      "r559",
      "r560",
      "r561",
      "r625",
      "r627",
      "r630",
      "r632",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r656",
      "r669",
      "r688",
      "r820",
      "r867"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingCostsAndExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales and marketing",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesBConvertiblePreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesBConvertiblePreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series B Convertible Preferred Stock [Member]",
        "documentation": "Series B Convertible Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesBPreferredStockConvertedToCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesBPreferredStockConvertedToCommonStock",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series B preferred stock converted to common stock"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesBPreferredStockConvertedToCommonStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesBPreferredStockConvertedToCommonStockShares",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series B preferred stock converted to common stock, shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesCPreferredConvertedToCommonStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesCPreferredConvertedToCommonStockShares",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series C preferred converted to common stock shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesCPreferredStockConvertedToCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesCPreferredStockConvertedToCommonStock",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series C preferred stock converted to common stock"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesCPreferredStockConvertedToCommonStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesCPreferredStockConvertedToCommonStockShares",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series C preferred stock converted to common stock, shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesDConvertiblePreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesDConvertiblePreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series D Convertible Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesDPreferredStockConvertedToCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesDPreferredStockConvertedToCommonStock",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series D preferred stock converted to common stock"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesDPreferredStockConvertedToCommonStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesDPreferredStockConvertedToCommonStockShares",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series D preferred stock converted to common stock, shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SeriesDPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesDPreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series D Preferred Stock [Member]",
        "documentation": "Series D preferred stock."
       }
      }
     },
     "auth_ref": [
      "r795",
      "r796",
      "r819"
     ]
    },
    "duot_SeriesEConvertiblePreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesEConvertiblePreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series E Convertible Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesEPreferredConvertiblePreferredStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesEPreferredConvertiblePreferredStockShares",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series E preferred convertible preferred stock, Shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesEPreferredStockIssued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesEPreferredStockIssued",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series E preferred stock issued"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesEPreferredStockIssuedShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesEPreferredStockIssuedShares",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series E preferred stock issued, shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesFConvertiblePreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesFConvertiblePreferredStockMember",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series F Convertible Preferred Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesFPreferredConvertiblePreferredStockShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesFPreferredConvertiblePreferredStockShares",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series F preferred convertible preferred stock, Shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesFPreferredStockConvertedToSeriesEPreferred": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesFPreferredStockConvertedToSeriesEPreferred",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series F preferred stock exchanged for Series E preferred"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesFPreferredStockConvertedToSeriesEPreferredShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesFPreferredStockConvertedToSeriesEPreferredShares",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series F preferred stock converted to Series E preferred, shares"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesFPreferredStockIssued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesFPreferredStockIssued",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series F preferred stock issued"
       }
      }
     },
     "auth_ref": []
    },
    "duot_SeriesFPreferredStockIssuedShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SeriesFPreferredStockIssuedShares",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series F preferred stock issued, shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ServiceOtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ServiceOtherMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Service, Other [Member]",
        "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, financial service, and other financial service, classified as other."
       }
      }
     },
     "auth_ref": [
      "r821"
     ]
    },
    "duot_ServicesAndConsultingRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ServicesAndConsultingRecognized",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Services and consulting recognized"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ServicesTransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ServicesTransferredOverTimeMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Services Transferred Over Time [Member]",
        "documentation": "Services transferred over time [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee contributions",
        "documentation": "Amount of additional cost recognized for award under share-based payment arrangement from occurrence of event accelerating recognition of cost."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting term",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan, description",
        "documentation": "Description of terms of share-based payment arrangement. Includes, but is not limited to, type of award or grantee and reason for issuance."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r69"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-qualified stock options, forfeited",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r384"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of Common stock under Awards",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r382"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend yield",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r391"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Volatility of common stock",
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": [
      "r390"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk free interest rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r392"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r365",
      "r366",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares available for grant",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, exercisable",
        "verboseLabel": "Number of warrants, exercisable",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r373"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, exercisable",
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r373"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares expired",
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements."
       }
      }
     },
     "auth_ref": [
      "r378"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Shares, exercised/forfeited",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, exercised/forfeited",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r828"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Shares, forfeited",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period",
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r377"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, granted",
        "verboseLabel": "Stock option granted",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r375"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average grant date fair value per option",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r385"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Aggregate intrinsic value outstanding at beginning",
        "periodEndLabel": "Aggregate intrinsic value outstanding at end",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Shares outstanding at beginning",
        "periodEndLabel": "Shares outstanding at end",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r371",
      "r372"
     ]
    },
    "duot_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of incentive stock options"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average exercise price outstanding at beginning",
        "periodEndLabel": "Weighted average exercise price outstanding at end",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r371",
      "r372"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average price per share",
        "documentation": "Per share weighted-average price paid for shares purchased on open market for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issued shares",
        "documentation": "Number of shares issued under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock on the date of grant, term of the stock option",
        "documentation": "Description of terms of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, forfeited",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated."
       }
      }
     },
     "auth_ref": [
      "r377"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, granted",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r375"
     ]
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Tranche One [Member]",
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Tranche Two [Member]",
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharePrice",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share price",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan, term",
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r679"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-FairValueAssumptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected term in years",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r389"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value exercisable",
        "verboseLabel": "Aggregate intrinsic value, exercisable",
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining contractual term (years) exercisable",
        "verboseLabel": "Weighted average remaining contractual term (years), exercisable",
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "duot_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining contractual term (years), granted"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-OptionsActivity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining contractual term (years) outstanding",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "duot_SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining contractual term (years)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Based Compensation",
        "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP)."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r123"
     ]
    },
    "duot_ShareholdersOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ShareholdersOneMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders One [Member]",
        "documentation": "Shareholder [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_ShareholdersTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ShareholdersTwoMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders Two [Member]",
        "documentation": "Shareholder [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesIssued",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional shares",
        "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_SharesIssuedPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesIssuedPricePerShare",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Price per common share",
        "documentation": "Per share or per unit amount of equity securities issued."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance, shares",
        "periodEndLabel": "Ending balance, shares",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtLineItems",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTypeAxis",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Axis]",
        "documentation": "Information by type of short-term debt arrangement."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_ShortTermLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/CommitmentsAndContingenciesDetails-SupplementalInformationRelatedToLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short term lease Cost",
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less."
       }
      }
     },
     "auth_ref": [
      "r458",
      "r682"
     ]
    },
    "duot_SixtyThreeWarrantsHoldersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SixtyThreeWarrantsHoldersMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sixty Three Warrants Holders [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SoftwareAndSoftwareDevelopmentCostsMember",
     "presentation": [
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-EstimatedFutureAmortization",
      "http://duostechnologies/role/SoftwareDevelopmentCostsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software and Software Development Costs [Member]",
        "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use."
       }
      }
     },
     "auth_ref": []
    },
    "duot_SoftwareDevelopmentCostsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SoftwareDevelopmentCostsNet",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/SoftwareAndSoftwareDevelopmentCostsDetails-SoftwareDevelopmentCosts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software Development, net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SoftwareDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SoftwareDevelopmentMember",
     "presentation": [
      "http://duostechnologies/role/PropertyAndEquipmentDetails-MajorClassesOfPropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software Development [Member]",
        "documentation": "Internally developed software for sale, licensing or long-term internal use."
       }
      }
     },
     "auth_ref": []
    },
    "duot_SoftwareLicenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "SoftwareLicenseMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software License [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r707"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r248",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r280",
      "r281",
      "r282",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r666",
      "r792",
      "r867"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r168",
      "r169",
      "r170",
      "r193",
      "r212",
      "r213",
      "r215",
      "r217",
      "r220",
      "r221",
      "r255",
      "r290",
      "r292",
      "r293",
      "r294",
      "r297",
      "r298",
      "r313",
      "r314",
      "r318",
      "r321",
      "r328",
      "r445",
      "r536",
      "r537",
      "r538",
      "r539",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r558",
      "r572",
      "r595",
      "r616",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r788",
      "r801",
      "r806"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative",
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r23",
      "r157",
      "r179",
      "r180",
      "r181",
      "r197",
      "r198",
      "r199",
      "r201",
      "r207",
      "r209",
      "r219",
      "r256",
      "r257",
      "r330",
      "r399",
      "r400",
      "r401",
      "r420",
      "r421",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r442",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r462",
      "r528",
      "r529",
      "r530",
      "r546",
      "r616"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r246",
      "r247",
      "r559",
      "r560",
      "r561",
      "r625",
      "r627",
      "r630",
      "r632",
      "r639",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r656",
      "r669",
      "r688",
      "r820",
      "r867"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r198",
      "r199",
      "r219",
      "r477",
      "r534",
      "r558",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r572",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r582",
      "r583",
      "r584",
      "r585",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r593",
      "r596",
      "r597",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r616",
      "r689"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r198",
      "r199",
      "r219",
      "r477",
      "r534",
      "r558",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r572",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r582",
      "r583",
      "r584",
      "r585",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r593",
      "r596",
      "r597",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r616",
      "r689"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r716",
      "r728",
      "r738",
      "r764"
     ]
    },
    "duot_StockExchangeShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "StockExchangeShares",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exchange of shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock issued for services, shares",
        "verboseLabel": "Stock issued for services , shares",
        "documentation": "Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares issued, shares",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r87",
      "r88",
      "r119",
      "r536",
      "r616",
      "r634"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesOther": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesOther",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued for cash, shares",
        "verboseLabel": "Number of shares issued",
        "documentation": "Number of shares of stock issued attributable to transactions classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueIssuedForServices",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock issued for services",
        "verboseLabel": "Stock issued for services , value",
        "documentation": "Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares issued, value",
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r87",
      "r88",
      "r119",
      "r546",
      "r616",
      "r634",
      "r695"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueOther",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued for cash",
        "documentation": "Value of shares of stock issued attributable to transactions classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock options compensation",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r23",
      "r119"
     ]
    },
    "duot_StockIssuedForServices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "StockIssuedForServices",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Stock issued for services",
        "label": "StockIssuedForServices"
       }
      }
     },
     "auth_ref": []
    },
    "duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock issued under the Employee Stock Purchase Plan for cash and compensation"
       }
      }
     },
     "auth_ref": []
    },
    "duot_StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock issued under the Employee Stock Purchase Plan for cash and compensation, shares"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockOptionPlanExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockOptionPlanExpense",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option plan expense",
        "documentation": "Amount of noncash expense for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Stockholders' Equity",
        "periodStartLabel": "Beginning balance, value",
        "periodEndLabel": "Ending balance, value",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r91",
      "r92",
      "r107",
      "r574",
      "r592",
      "r617",
      "r618",
      "r683",
      "r696",
      "r802",
      "r809",
      "r852",
      "r872"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCKHOLDERS' EQUITY:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCKHOLDERS\u2019 EQUITY",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r192",
      "r312",
      "r314",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r327",
      "r330",
      "r441",
      "r619",
      "r621",
      "r638"
     ]
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Line Items]",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r471"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r471"
     ]
    },
    "us-gaap_SubsequentEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTable",
     "presentation": [
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Table]",
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r471"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r471"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r471"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://duostechnologies/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUBSEQUENT EVENTS",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r470",
      "r472"
     ]
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock [Axis]",
        "documentation": "Information by type of sale of the entity's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubstantialDoubtAboutGoingConcernTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubstantialDoubtAboutGoingConcernTextBlock",
     "presentation": [
      "http://duostechnologies/role/Liquidity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIQUIDITY",
        "documentation": "The entire disclosure when substantial doubt is raised about the ability to continue as a going concern. Includes, but is not limited to, principal conditions or events that raised substantial doubt about the ability to continue as a going concern, management's evaluation of the significance of those conditions or events in relation to the ability to meet its obligations, and management's plans that alleviated or are intended to mitigate the conditions or events that raise substantial doubt about the ability to continue as a going concern."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Disclosure of Cash Flow Information:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]"
       }
      }
     },
     "auth_ref": [
      "r757"
     ]
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxCreditCarryforwardAmount",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net operating loss carryforward",
        "label": "Tax Credit Carryforward, Amount",
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "duot_ThirdPartyInsuranceNoteFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ThirdPartyInsuranceNoteFourMember",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Party Insurance Note Four [Member]",
        "documentation": "Third party insurance note four member."
       }
      }
     },
     "auth_ref": []
    },
    "duot_ThirdPartyInsuranceNoteOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ThirdPartyInsuranceNoteOneMember",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Party Insurance Note One [Member]",
        "documentation": "Third party insurance note one member."
       }
      }
     },
     "auth_ref": []
    },
    "duot_ThirdPartyInsuranceNoteThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ThirdPartyInsuranceNoteThreeMember",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Party Insurance Note Three [Member]",
        "documentation": "Third party insurance note three member."
       }
      }
     },
     "auth_ref": []
    },
    "duot_ThirdPartyInsuranceNoteTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ThirdPartyInsuranceNoteTwoMember",
     "presentation": [
      "http://duostechnologies/role/DebtDetails-NotesPayable-FinancingAgreements",
      "http://duostechnologies/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Party Insurance Note Two [Member]",
        "documentation": "Third party insurance note two member."
       }
      }
     },
     "auth_ref": []
    },
    "duot_ThreeDirectorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "ThreeDirectorsMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Three Directors [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Timing of Transfer of Good or Service [Axis]",
        "documentation": "Information by timing of transfer of good or service to customer."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r820"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r820"
     ]
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r808",
      "r854"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative",
      "http://duostechnologies/role/SubsequentEventsDetailsNarrative"
     ],
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "duot_TotalStockAndPaidInCapitalAndRetainedEarningsDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "TotalStockAndPaidInCapitalAndRetainedEarningsDeficit",
     "crdr": "credit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Sub-total",
        "label": "TotalStockAndPaidInCapitalAndRetainedEarningsDeficit"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r140",
      "r141",
      "r251",
      "r252",
      "r254"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r781"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name"
       }
      }
     },
     "auth_ref": [
      "r779"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title"
       }
      }
     },
     "auth_ref": [
      "r779"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfChangesInStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Common [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheetsParenthetical",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock, common shares",
        "verboseLabel": "Treasury stock shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_TreasuryStockCommonValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonValue",
     "crdr": "debit",
     "calculation": {
      "http://duostechnologies/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://duostechnologies/role/ConsolidatedBalanceSheets",
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less:\u00a0\u00a0Treasury stock (1,324 shares of common stock at December 31, 2023 and December 31, 2022)",
        "label": "Treasury stock",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r62",
      "r63"
     ]
    },
    "duot_TurnkeyProjectsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "TurnkeyProjectsMember",
     "presentation": [
      "http://duostechnologies/role/RevenuesAndContractAccountingDetails-disaggregatedRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Turnkey Projects [Member]",
        "documentation": "Turnkey Projects [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_TwoEmployeesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "TwoEmployeesMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Two Employees [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "duot_TwoThousandTwentyOneEquityIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "TwoThousandTwentyOneEquityIncentivePlanMember",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Two Thousand Twenty One Equity Incentive Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfArrangementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfArrangementAxis",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]",
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r427"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnamortizedDebtIssuanceExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnamortizedDebtIssuanceExpense",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unamortized expense",
        "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent"
       }
      }
     },
     "auth_ref": [
      "r776"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://duostechnologies/role/NatureOfOperationsAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r41",
      "r42",
      "r146",
      "r147",
      "r150",
      "r151"
     ]
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "crdr": "credit",
     "presentation": [
      "http://duostechnologies/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase in valuation allowance",
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r414"
     ]
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingAxis",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Axis]",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingDomain",
     "presentation": [
      "http://duostechnologies/role/StockholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r847"
     ]
    },
    "us-gaap_WarrantExercisePriceIncrease": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WarrantExercisePriceIncrease",
     "presentation": [
      "http://duostechnologies/role/SaleOfAssetsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price",
        "documentation": "Per share increase in exercise price of warrant. Excludes change due to standard antidilution provision."
       }
      }
     },
     "auth_ref": [
      "r329"
     ]
    },
    "us-gaap_WarrantMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WarrantMember",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants",
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrant [Member]",
        "documentation": "Security that gives the holder the right to purchase shares of stock in accordance with the terms of the instrument, usually upon payment of a specified amount."
       }
      }
     },
     "auth_ref": [
      "r686",
      "r687",
      "r690",
      "r691",
      "r692",
      "r693"
     ]
    },
    "duot_WarrantsExchangedForCommonStockWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "WarrantsExchangedForCommonStockWeightedAverageExercisePrice",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, warrants issued"
       }
      }
     },
     "auth_ref": []
    },
    "duot_WarrantsExpiredForfeitedCancelledOrExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "WarrantsExpiredForfeitedCancelledOrExercised",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warrants expired, forfeited, cancelled or exercised"
       }
      }
     },
     "auth_ref": []
    },
    "duot_WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised",
     "presentation": [
      "http://duostechnologies/role/CommonStockOptionsAndWarrantsDetails-ActivityOfWarrants"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, warrants expired, forfeited, cancelled or exercised"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average shares, Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r211",
      "r217"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://duostechnologies/role/ConsolidatedStatementsOfOperationsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average shares, Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r210",
      "r217"
     ]
    },
    "duot_WorkingCapitalSurplus": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://duostechnologies/20231231",
     "localname": "WorkingCapitalSurplus",
     "crdr": "debit",
     "presentation": [
      "http://duostechnologies/role/LiquidityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Working capital surplus"
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://duostechnologies/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r786"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "4",
   "SubTopic": "50",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482610/350-50-25-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "SubTopic": "40",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482633/350-40-30-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(g)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b),(d)",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479601/815-10-S99-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "63",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481620/480-10-55-63"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(CFRR 211.02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481142/505-10-45-2"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-10"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-11"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-4"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "710",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-16"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "710",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-17"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "710",
   "SubTopic": "10",
   "Section": "30",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-2"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480489/718-40-50-1"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-4"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205-40/tableOfContent"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "250",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//250/tableOfContent"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-5"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 4.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-5"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481138/505-30-25-5"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-9"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//810/tableOfContent"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.DD)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479601/815-10-S99-1"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-3"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "985",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//985-730/tableOfContent"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(210.5-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350-30/tableOfContent"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//460/tableOfContent"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "710",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//710/tableOfContent"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482969/710-10-50-1"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715-70/tableOfContent"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483041/730-20-50-1"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "808",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//850/tableOfContent"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-6"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-2"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-5"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-6"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(5)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481058/954-310-45-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-18"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3"
  },
  "r789": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r790": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r791": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r792": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r793": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r794": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r795": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r796": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r797": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r798": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r799": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r800": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r801": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r802": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r803": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r804": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r805": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r806": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55"
  },
  "r807": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//310-10/tableOfContent"
  },
  "r808": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r809": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r810": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480341/340-10-S99-1"
  },
  "r811": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r812": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r813": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r814": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r815": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r816": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r817": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r818": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r819": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r820": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r821": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r822": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r823": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r824": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r825": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r826": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r827": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r828": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r829": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r830": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r831": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r832": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r834": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r835": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r836": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r837": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r838": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r839": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r840": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r841": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r842": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r843": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r844": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r846": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r847": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r848": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r849": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r851": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r853": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r855": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r860": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r863": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r867": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r868": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r869": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r870": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r871": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r872": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r873": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r874": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r875": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r878": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>93
<FILENAME>0001079973-24-000473-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001079973-24-000473-xbrl.zip
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
M1M+#TI3,WOE#,BJ *KG<FO=W[#MI4IV!1'T=\*<"?DS0'7&!1:7=/'6Y%51
M<J(=I +NOM).#X[5 X<PM(9Y;LUMUCA'"T4HS:Z@"0=L]DHU89"MTZ!1I9TF
M'*D)A:F[718%Q$N.NJDBWLWWA]X@4666*5 J0"KYV4IOF.AP/-F.S=0K%NYV
MT7WPR.6O&-"M$"\^B;KTQQ@QA9V=+8M3T(C2#6LU.T SCK8,#P;9,P'CN^#"
M"'S#%7QTRG.<\D2^L1O@;1MN!;2PPLXLP(\KHEE)?I3<;,I*$M5K;*.*(WW@
M*_=NC7Z\7A3FB#89%#"77&R*F'=31LM=XFE,E/KWA#_+,_1IW>TX3?0*V$H>
MMOR^\DSP-*G#@.$=!GE>BQ'P:CITVZ&;6'#P,>NY4:)40+3V.J0LHDGI',7.
M-7,(E(5AMXY  3C)QU8.7#>J'G:W544HJIE. 3K)-U9]]U4'Y F/[20#99)B
M0W-FGH X(*<"V)+[2^%@SW[4C2LT4%QC!_ZQX \1H>+Q/Y@CPVU$UD(#2K,K
MJ$'I@4EE->"U&O>\6C[U)O5VRG"L,B0=>;IJ<6=>368%19 \::T4(:F3[R5^
MB&OMU.!(-2A9#ZMG48#\D+.=W;1_@DL5*WWB2L3-R+Z1_%N5ERYVB!Y^<#=N
M.?GD;I*@@)2\\:MP=#<NJP.E'2C%!5(=A0),DH.I J:N%ZD!5KB:L0*T)BH%
MX"0_DG2AX_][[/@__)'N.5X9XG'O=P&0?3ACA#^O?A9_VU"\^G#&WXKN)0\X
M_Q/$?O&X=1,27D/-X]X"^6)+Q14G12!J2Z5(CX^?Q\<>N3HES"<%!"3@V6>9
M:@Q>#XS2YR>4W$5W;26'+-A]1I''O/SGD!44M*VL!9U^)HG[^UJ>0V[H76WE
MSG?(9Q)[D%8B2_W^//]P.OPN/J[^'@3W:6!XTDOMLE#$8P%__/G,8/8&;]'8
MMT51-5GXKUZ2K\<_]2XN>U<7+QZ9L^>T#1/[9FC'1)+O "9$:0S;+];^/8!*
MQ)OUY?6S*G+^AU FU4I7B-T)$4+66R.T4ZFT-,\Y=@.6?#F8!=Y-V/$\B&):
M,9&#TPGH.2^"%WK9 QRO+JK9:<HI?K.#E #;3ALE2,CY'ZV$SY4B-KO1IS85
M9[,D/PY3 4:#5N@G]!'R\.O@:@]0/;GR2KW#T1X?86'R ?^?L."^YR/NG8L7
MF,+ :X+U$ 45A;/E!F_O,#T33(O'>M6HB>ORXQP?S@+*][-R?LD[&-J)[RS%
M#.2$-#YC%LU(H+ 1U^\<?XN(-PKPEE-"&X A#(._< E\I'ZX^W 6%4> I)5H
MUZU$JZ+64K1^*]&JJ+44;=!*M"IJ+46S6HE61:VE:,-6HE51ZR!:GK7KO"15
MB?HQWJ]CO*\QXX,ZQ@<:,V[5,6YIS/BPCO&A5HSW0Q;X6TPO"@.,]%DG9B_+
MF;W4DMFK<F:OM&3V53FSK[1DMIQ7K5@MNQ&F,#C44>@@0FP69DR..LM$F5H?
MT:Q6HBE0ZR/:L)5H"M0ZB+;<$!J]5C?R&%3GV9A?@3#U<%XH!3J-Q5D^^$KB
M9.ET%F=#L1H^>4J-11KZ(562*$>H@T#IK8+IE21Y.6K2=6!_CHB;9SCW10<6
M^6XK3&V""HR6?->!W8\^C/N>."R5Y[<L00>&39BE5H2WX\@+L.L2?K2K,+XT
MT.@@QC*DWE?\-*/^O[!=;/NJ1!T8OX%BP&[E(YRXEW[''?-Y]NM)=!!B@ +4
MAR^8FJ%#^/E L(/NB8T+0"C0Z2!.<J/8&#CS6*$S5"7JP+CIKGU*@LVVT.XE
MWW5@]Z/O.TP\E!Q9R%,8(I=DBXLC9P.5#J(D>MPHC0JA#@*!-;S<^"%#L)Q^
M@)0GL/:C(TTC&(<\OCV+[XHM#+0M,^D@:!QB:[6^4Z#60;192.T-8CB])J_@
M,*E,UH%YL7H9$ HSMD^+$WIYF@YL\R5*!=?E23HP;2UFL\+")?M%"Q:W.]=_
MPECTLD1SY1&HF4PG8;BSLD)9ZDET$&*Q 2LH/NPJN8RJ$G5C7'(.527JP'A\
MW"C/</&C#HP.?0J+\T6 5JOB$"@GZ, P()UV.,FDD5-T8)G/)L&31=:;(#E\
M]BE26WG6::#309P%>0R>Q+Q>*TTSF0["3/"#:=M@$P*A,P)3D<D#? .-#F+T
MT8X$R"5_X,K[UJ%#)TD+ &+I)\'#U$]W7!F-S1!M<0Z2I#OD<C\)"(#O2)"T
M392V]3T<(/ITBO'"!YF$C0'3\PP1 # 6%'[/^3D6#SL6HA[QUHQO%+<Y,_&(
M<EC>@ULBTK%G:XK\^D=,G\R\1T1PN_2O 6Y&UAZ_N:U\&T=3%G7!LQ(R4>KI
M0IMYGD>,A7MYZDE:].1OBUP-VQ$F"O*EA*W'JV>!:=@,4Q6)YC"5LET&4SVA
MEC#%WA1^P611U6IEJ\_WYP*T1A8%E%5RZP%]OY+QS+T*>5E5LV@.N)(895BW
MRZ@'S-?M85;-HCG,2F*4P=PNHQXP#]K#K)I%<YB5Q"B#N5W&[P[SWH:X]6"=
M7>E?A45<'[&-N"%V?Y=X*OK1Q>BK#L>)5E"1$Q6FD=KPU7T<\RR1,I^J+<@C
M#RJ IA_@Z/\C3[P5E7V@/!)-A5!;*><XN4%[NDKWW67?SDUWL:7;Q=KD^%/(
M/?:]]1+3;>R2$5>:3^]<LLZ-9ZUR:"OWC/HVQ@X;4G_+NR.O=+K*3$-ICU6B
M/%S.YW76)0S'[X[&';7P45N0]K?F9"]/,J$T_A)+NK.J@0K%?R7R'3Q#!!0Z
M\REFB R;2_P87+M92[$B\0BG>) 4<PKW/N*/#TQ74ZA:5,=FODOL)TD.%4)-
M9"H[/5,AE1JI)G+QT=DE]]BI4+6:=$TDX)T!# C0)*\"D%H*3:2X"=V [%P\
MPU2\Z,(GD'22Y+IDNFY\N<1T)3;'\3N-?6]&P3:LD/O$96K24@M[@YV0#X *
M[QTO1<A$4HBCBM"D'01SW)9,WE%.8F(CSWJ$]0*87M? *O\R]6[Y;?F@"@%.
M'RFK:)O3%ZM)>^U!3_C?2U0I=)N6>\X*M&O#^I>PHG>P&CO?(65HUQ)\ ;M?
MOS;)W$"MB72PGG%".]D0\S03#&06.Z6)!YK,R==3[5R[!K7)>7U,SN=:D%X_
M[4GBA[A,&/.=>)/8- QXJ-R!CCD)^4:3O4OF.4K^SI'[R+7*Q.R?\:JF'M?]
MC-!(][W]:5]\^A6:-G8Q+$*Z<\,4NZI$3??.0+O"*C(4EM@(;#%_#6W$,F"4
MIVHJ3955-<'IVKR>1%.YS*U/ _)';#R/8 KSUORX0[1,NDA/%C62Z>H5&N =
MQ3:).4\PXL"D/I4Z"EW%2H($&7]LM-(IGOHH(]!5J('_X,63#M\PEP(D?=95
M@+2I;\ "WKC\5#L,U6[T4&8:.JBET=9!66GZ@QGHKSV^\[-Q[94CU71$3%>%
M(O(6V;A[T2I3==VWF3 ,</A[GG=!Q8JM**=Z-ET;@"NCNMK^6;4V06),T!UQ
M";_0>IEY!V#QQ*" K/6E1JTOJ)( 27PY>KR6<9_A/H#9@EY7D4OYE96XF4Q7
M 4V*T70EW"6IV9G[=.C"'(R[+7)/$D &PY=?(<KO4M['B/,?OSN7,Y_';0AR
ME^CQ&GMX10*3$@9JP,.ZL!J)PU3>>NPSUD>4/JU\RA?Y7TBP(9[I>2%R;QE:
MXS'9DN@V^WV(^+E*UW1@-=>P,EW#=, ?W[M!]"L.Q,-_T]4TI)G(^,0/N)-T
MWQ$/R:BK75O<H'K(IE;==\ 5]E-7'OVO/S/1G.V["RHN@WV$Q:&WQB7;TJ0D
M+0[F# \#IDVV[PU,A7\R?[BEB4@/(>I'!LU' GY<$QISN@(EX?[6[':BBC1=
M3:IT7VED%)9[_R>^.)6*'>'H9^+<8C:="PF3U&\XV)N14;#D,FF6;U"/IN:!
M$/6N.:!R5Q%0^<AC3]CY@OG!;6@:Z!A@&<TQ/]HK%"Q:MX#)Q/<>I@W^[:O5
M)"IVB,S)$?),\.J;M?=Q=7__1D_XMQYWA(I]W"M,N.>'=R[7A:&06H_\@D:V
MGZ-:YOG>XWT!CX0UL7OH(/%/5]X1872@$AIY4AV(+$/.=F;BKI-75HE#BM"C
M&3(69'[W0\&N*270=/JJ9#D3UVR@T50RT!W/)CODFEO^+-=^TT?QLZYK[BDE
M:^(A5YCV?-]W5HRJQ.-Z"K^[[Z2QR6P7CT< .3Y93O3M9H7WY]&C9_#G_P%0
M2P,$%     @ T(.!6 'U )4(%@  %0\! !4   !D=6]T+3(P,C,Q,C,Q7V-A
M;"YX;6SM75MSVSBR?C]5YS]PO56G9A\4QTZ<3#*3LR5+5$:ULJ25Y&3G:0LF
M(9D;BM#PXLO\^@/P(E/$E1))P%5GJF8RL=&-[OZ [L:M^>O?G[:^]0##R$/!
ME[.+-V_/+!@XR/6"S9>SVV6OOQR,QV=6%(/ !3X*X)>S )W]_7__^[\L_,^O
M?^GUK)$'??>S-41.;QRLT2_6%&SA9^LK#& (8A3^8GT#?D)^@D:>#T-K@+8[
M'\80_R+K^+-U]>;R$EB]G@+?;S!P47B[&._YWL?Q+OI\?O[X^/@F0 _@$84_
MHC<.VJHQ7,8@3J(]M[=/;_-_,O)??2_X\9G\YPY$T,+V"J+/3Y'WY8STFW?[
M^.X-"C?GEV_?7IS_ZV:R=.[A%O2\@-C-@6<%%>'"HKOX].G3>?K;HBG5\NDN
M](L^WIT7XNPYX]]Z@O8E22+O<Y2*-T$.B%/8I=U8W!;D;[VB68_\J'=QV7MW
M\>8I<L\*XZ<6#)$/%W!MD3\Q>OM>W01%,73N ^2CC0>C<]+@?(#PH,32IJ3W
M(5Q_.<,-8]S#Y;N+RXS_7P\:Q<\[/#@CCXRM,^O\I+Z#"/F>"V+H7@.?V&UY
M#V$<R>61$'8@XQR$,(CO8>PYP#]:8":7=J0GTP]N<6_1;#W;$9>!QV0M4XLY
M="GUT<:OP:Y]?0;W(-C :!PL8^3\N$>^B]VT_4?BQ<_'ZJ3 L@.]0'0_\M'C
MT8.+8M"<S%,<@T)8!K\?N,MDNP7A\VR]]#:!M\:C((C[CH.2(,;Q>8Y%=# #
MF38-L&Y.SXF'07<51A+5L#D9<CVC!72@]P#N"#^Q,'R*YJ2:AP@#%#]C<,C$
MV)$Q)Y-+1-.@9'@&8.5Q)ZL0N#ASP.F55#(!37.2+=$Z?L1.<@@?H(]2]0>X
MG50Z&5US$@[AG13%<IOF>EY@W8($$@BP/XM#X)0FN$PD)>(FK;2&80A=LC*
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
M=GVNICD4JR^:ZUO$.Z3U+Q5K?6CXQ@#1U*Y^8-GTV"WAG:MZ$=GJHNFT]+P
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
M//_P0,S><5KBU/8SFBV@TYP<7>@-6#%I0*B4/9]W;%"P+R4[@\(]Z(UG(6%
M.(L&5_BOB9P:6G9"D!A\TKWHC5=A@4#,E 58Y#8 K7/YY9W\"V4QD9!'P?QV
M:-,>M<O,46J+S\2&$3(JCB&").V!!.8>1*AH@ ):12BOHQ=S0P_F^"M%MJ7>
MBN8R#>JW:'"!_[A4):NT="\MP*6(0.!)L+KR<<:3[1O;>Z)6N4 00* W8#*\
M@]@H+')*9(KFUV'@$D:CO*;TO'N#76*(SV3RY58]S=-/*Y L(A((L+J;E6PI
MPF.W\OBRNVDSO#R)0'25Q2 *9Q E?M1OB(8\D=4G"XNQCKS?)!\M>:"FCERM
M7-]OASTUJ K0$)6EIAS73/ON()<6!J=UO4:+Z6Q@>!OBO/BN_1"$6;1+3/\9
MMJM"W;7"3$I(!J*N+/[2WX;](HMM_*,7^I^<S:D<?2MPS2,*"*2R:$[?-%VR
MXMW:QH.])4I%WB @NPLR0X5O99G1'QP@I>C; 60.44 @BT:(N*_\IO)O!('/
MP[NX (W>2$BR#VI?67I*ZNP*/@ 9.Z:+#-ZTF*L;O:$L+A&(KK+$%NZ&<(*^
MAS\5W2/OZ5N!9QY1(" 5EH_B;/V*XWA,WF8869* *&J5#C.FRC6VL^!A:YO3
MQT?D"C+.)+MH!9HYI0$1U>'.4&24R69IZ0:>/XPCWE+K)H>^%5CF$04$4EU8
MZE '5?:8$J!H!5A\YD%X*DYU*9!4UNXDLN))8^_570DR7)_&?.)C(K+9I!<I
MPM.B!=Y:8^>T$C!G\<K;E=Z(EI,*1%I=@@S/10ZK"A3<*82TK<!25@P0/&6)
M-NQLXAQC4XJ^%2#F$04$LN)\G#A&E_BS ^PQ+RJ$=W\93?76.Y]K4,7*PB*)
M,RI"(V[/;*XW(F+.(518[Q T>#+\(#Z.?,A4P'EYLMVPL53%H2H^T0KT*Y86
MM)CVE749(L]T[; \4@V9 JG>VV,GE0@*FH@. 9K8/X]\N3GRD/L<9LS<!'[@
MHL11D#OCD.JJ%> 7E I$NGV)1>ECNAJ+UK$^TPH+J4%BT'J490,5%I+XO6B+
M7)I'D::DGE8-1L3YVGG;DE!PT*2*!LZ@)RZ3;*@HSY(MT(3&^3R:&4=Y]Y:8
M3*NG;$^P_SORY\C$:X=6!(K&QR6P*:S[LWI;3W,: ,U([;6U0D.&_D_\>DLD
M(Z=H3)5?T=N6:A,8-!UE,<$E34X)W-<XBR5T]*##E9@&)&D%J +N0824I5\Q
M& Y3&7(!%%*T%9\4\R \Z@H#1>/>(YN@.7J*,]IIC8[]GHEWV"6B;05DLF)
MX+%$;"Q#.'$9PTG@P+YW8SO&-CKX-FQ+?-:?NZM60%M0*A#I5!SP[^].!":\
M?$M^8_QTU"EZ\9%C'=)FCO1#7$'BWYD;!V_QVD;>NU Y*7.,JY[W'>LWPPU+
MGP^1;]A;[VWRB^G;S[;_NI?$]FG_7[Y<77W\V'O;&]J>N<5DFD+DC\'T[FXZ
MZ2V6T\$_>M/9<CR=+'K]R;#W6W\^[T^6B]Y?X^Y)X_@#/2/^PO^\:9?'F#&8
M"OW$5-^*_.C#FT$B&3RPBG7ZA2&&<JK[1*53A['=OBG\D'=EQG3J@%>-![LZ
M72(V&='(^OF-[P8,[3:T((4LDP_PG]PZ::;#(UL5 81Y<H(@:KOQ!J4^2.98
M])X<?5E=]!94/5]3\^(7&]F<^^\2VM6IE$3[K4CGA\A469JFKXP?7]4-O5'1
M$]0@R4K-!J;6>8%WL?E$]/8M1Y!>XEU)JK1+](A/#4X^]*E5TT^VUNZ\UJ(A
MR.;T7;SDQ3RI%3%Z(7ZH[4G5XZN?@<X^2^A-SYFR2-Z;4/@YHJB&B92.[QJF
M'QA;^K(5Z]2V;!)><6;.TYH5Z!#<39S!?#RF)5N($VX*SIMJ^^1Y6FEMF@(W
M&VVUQ>-G2;^ZV*LC[ Q_K+,_21V!Q[+:6AZX161*6I-G6AT3?SY+K5AWX(EE
MQ36!2[HIH53H5)P\/N?^%?+FN#@?XU2E/,@ZVY=Q&"OA!KN/R*9W!NI\!![^
MV/F89,TZ@BQ/[6L!918&AJ2*EO><G/SY;+8.!4(&K2R_L^S(C46DI^AU!^TS
MG_KSF60A#8'AS]9&B5)RJHG:2S+0&6@)O8%FJS:@5,+WAJ6'_&_1?9AFF3E/
M<U:@0]"TU4:LJM'$<6BX&0L^^69GJ/E4!=JCVE<(J]E0]IU4N9!F]_OL3Y^G
M==:N,=!(SR$,Q99;C7-;BJW.N"O7)FCXJ2B8EM>9;@S;#5>9ON<%NZ@9ZT[3
MIU)WFNA7>L_T,SWC\)WN9E-WLZF[V73>-YL\UT]9'_GK8'GDC]6<R@#<9"*_
MIWX^OQM,Q_(UDP I P>8[)\PG#1H^%X04U^8S1J8=%=M%G2%ZM3R@HR\RIN\
MRR+0^AU1V2[8\?1^U*3I.RJ K6*8.RWFACOC1:C6=),:#+JL7C/L@8I5EG;>
M7>\M<KU7WU,R[2]F=M=[N^N]Y;^FI??27>_MKO?FGQ<JN-ZK[W($Z845!IS;
MWK<;%]'3*.0BCSA7?AT1;=E/=U'K0AJ#;+1]+S2PQ*;O2YOT*:R:$C&$WSQ/
MJZQ/5<UL955-F8F\0_O9MI!C-3AELCY]GL99N\;.>UE/Q/X5;TDW6]M_56"E
MQQ_O[+2@SL#=1>LL5>9.7OCCD,B^UU)]"18Y&>DLN +]0=;\0?,<BJ06[/0Q
M^8650?&Y5 9%\HT>?NQ]C[^B*G_")\A1O#,VQ'K1,]M6U;ND,2>B)(63=OID
M&H!JSSP_RI)4^\*F>[9'?P3$T.FT@QT:R^&?A C(U)V,L%$ H.+)K-%FZ81-
M4:09:*[FP$%.UUA& /U.$*H 1N<8?F7@:1J4CQT'42#^J)FBX#M_3& ^O]K-
M:/%3!S&C4W=.'=54$248"Q&ELBV!K)\@)8!VX6,FUT<)V0<W//[5XT2&"W77
M3FBEI*IZ@%9=Y6;/=27E%4M5:RG!BKX&I%0CYQ-X[4HE%MBWUBIYU:%28&)+
MAD!XB2A\^)C>+"(BT5>/MUMD3=UD'F;=;Z1]Y.E"7U +22(1 :P$),YUKBH
MK*A[S<&M4DH(>&67FP?T#5B7[EWC=]#"J2=^AYKG3W+I]$54GGT(JJ)7?(43
MJ;FA"P UHE0T/N>UV^/9*'>/^N)6A6 0HOI6<.L*7JESLW(6L&I?8D]7P$I;
M@RM^#U_M%K(K2*6Y>>I48.H<:J?]F0M,*3"\7 6C-$^GF= _??OY<&:>2J+Y
M4B*)9M]Q5W>DJSO2U1V!9J4_1=V1)9U3IH]CQZ+)WV1=AFN0 $W/[\HU+&LS
MI_9Y(?O-]C=SM(TJ=6WLIR4>.62M> 637U@"BCIIOL8)'P,.5G+Z4%T3106,
M6F8VU0>U3K58#,>(YB)^W9#C5@HJLA0=39@KA';I3EUYD:Z\2/%-1%=>I"LO
MTI47T<32ZEGE@=/8.%H#+N*TT5&;U4=-+\154!J$+2QX+JYLL0_=%RJDZ[\N
MB0(\PPR9OGY-_\+W!/+T<;9N0GY%:G0E-\VB:.YFM56S?A=0.8R9ODMS.7!T
M7A9K +#1%>\&NSOD+GSC\9&[ZF7:J5KY. :/1>R":U?1G0^@U.5WG!34XOL2
MV8:KBP\ZZQ5B&#Z%4[>I/+.+MC4O_@7OZ"I[)JJ[HZOI6M_=T94$[YSNZ%Y<
MM>V6;L@QN&Q=-7KF-\ !K6?X1-=>NA^'3VG9+<]O40)%A1"K]@:%Z,$#]!2X
MYH9(TE^[*!3OE%O>L5X.\N;/9;EJQT5DT.- MBG,M%RZ:L"UX5UJ0#X^HFFG
M21K=+WA+/L7?7HG(FE^V"HT<G%<B>%FK>*.[L%_\UR5I@O+ (J!:732=TEH6
M%2F!0% ^Z7ONFJOZW5<7>W7D;L(?6UU\T?3X18]ZA"DE0=;WYRYP<G;V4T(-
MX/RD+H"WSY^G!Y6T/JSC<4L:LMJ?'\8\.4%?6UDFUC;L%UEL=0A!E:,_/Y#S
MR*W=6>R]8^RPZ]O_0=80/?CT6CVMB" $FT]W?B#+R*M?X#UY*@:YSV0]82MG
M0@LL>/2.(-6#M\2^L4W_/L">/\'^[X@XWB9>.U0%D<]R@]WXGV@[SHK?+!_G
M9WPJ]-=,]*Z)'5 4>!X[GN\&87ASZF^0N]P8SO%CZ\A*G/$:=D;YF3@_,VY<
M>6 20>ML>'_!]LEVHPL -=HJ_+'.)J65!-E>JH1-TW>=A[0W*BB]F_T0)+L2
MB5O.GWX\O>4\'-V,)Z-A;S"=+.?CZWMZS;DWN^U/F+>;#R+7(-;"H*=:?<]#
M^QO;+!$N3D58]&]'O>E-K[]8C%*WLIOGEJOY2TFVFU-W\."A/P)ZJOZ,Y"[)
M?WJ?$>+^>C'ZY_UHLNR-?AWI=2G^6+[,!,*8:$$*1:O,,3^BN^C,UOI<*Q?
M<3J?<V37_\$)PKQMV8;[&LT28?A(D ,'DZA+->!AD(6+*[%.0<X#A_2,:?J8
M2B(67D&2H%64X"9$ .>6I*$T FVPTS*1H#9\-4V&F[GVL^$CXM&:_.O=,0&[
MO:KWH^5'%9:4HIGY\XRKFDBL8OD+E%1[NJ-A98NN0,E9P*CEDM:V B5 *M8$
M?>^;IHNL*&))H_98D(?%(VE?;1(9B;0['M]?)H@3-V0V9S")ULN:F'WMSK'3
M+(H<>E9;Q;>+0 TS<X884NJTV2J'A98K3V5X-;K0+)!K(V\8/:'@VV2DSTAS
MY))9-V2)G_HK1:QHO\09"+B("%7/9UQ 1F4 $1'7,'PJ1T1*!G#_JJX:]<G2
M*2Q:!A*T8O7G2ZM1FA.#4V%,#R91%X;E:5N(C;[N0)7P:.T<5 .AIN'5$WY%
MT55F<U7!5>%HX4(C]A+4S7QG5CBCP-XT7PT,9=F+70T,35>GK@:&)'B:KDNI
M!SQ$:U*FZ8K%MF:E,-A,@SBH6XI2)YCA(VQQH8GXI<:QDSK1E#MK%_6BK*!G
MSHRDO")!V.J0/!'>2YPA-Y1 "L8CBO9!EF4?C$MH ,\ DT6#<!.>P\R1B>QG
M9$US#SUQ-^T#4E(FB6.G^M*V0^5XR/QAC9_?(=.*$FYGST^C%V0&-"=V0!;S
M-:8QM*FS?:TJT1?\;M_Z=^#YT96+VK]W.$VL]V/[LLKA5_2\!Z)]_?-JX^*C
MQ6S&C7VG&^AX_:2B&MY9/53G!E151_VL 6!J@YTWKFHY("N693OKM.R'Z3)F
MAOX/?:21_,O_!U!+ P04    " #0@X%84/6'CI5X  !>[08 %0   &1U;W0M
M,C R,S$R,S%?;&%B+GAM;.R]>W/C.)(O^O^-.-\!M_>>W9X(5W=7U<SL3L_N
M.2';<HUB79;65G7OW(Z-"5J$9&Y1I!JD_)A/?P'P33Q)24"JS]W'C$O,!'])
M_)!X)1+_^K]?MS%ZQB2+TN3?OGG_W0_?()RLTC!*-O_VS9>'=Y.'J]GL&Y3E
M01(&<9K@?_LF2;_YW__K?_Q?B/[/O_[?[]ZAFPC'X8_H.EV]FR7K],_H+MCB
M']$GG& 2Y"GY,_HIB/?LE_0FBC%!5^EV%^,<TP?%BW]$?_CNPX< O7MG4>Y/
M. E3\N5^5I?[E.>[[,?OOW]Y>?DN29^#EY1\S;Y;I5N[ A_R(-]G=6D_O/Y0
M_D^A_J]QE'S]D?W'8Y!A1+]7DOWXFD7_]@U[;_G:EX_?I63S_8<??GC__7]^
MOGU8/>%M\"Y*V'=;X6\J+5:*3._]G_[TI^_YTTI4D'Q])''UCH_?5W#JDNG3
M2"/?0I)%/V8<WFVZ"G)>[<;7(*4$^]>[2NP=^^G=^P_O/K[_[C4+OZD^/O^"
M)(WQ/5XC;N:/^=N.4BF+&!.^*7][(G@M!Q,3\CW3_S[!FR#'(7O1G]B+WO^1
MO>@?RI]O@T<<?X.8).6'TJX_=<HJE;YW#7:!292&TV0<ZKZV)_BT[9#\  /:
M^LY-6*9Y$(\"W]9T#OL.C_OBC9[[+TW]/![WI5N:)X&=BY '?U[Y=XW9C[?T
MKPY$_)K3#@R'%4A6A,8#\S?PCJ$LNRX]777*C9DW3XEH.^L9>9GK('OD!>^S
M=YL@V-$7?/CX/8[SK/KE'?N%?X3RA[^QOA%O<9)?Q4&6S=</>;KZ.GF-LNH]
MW,A_^\9"_ON^ 4QS0BHK K(R?(I2XOM52CNR7?XN+CYZH;XFZ=8*1OG-4@OA
MO\6/=?G%1Z80%(9TQ C.TCU9X4%UW+;&]JN6"+<QU6 #-IR\^_+PS?_B8BA=
M(RZ(?F&B__6OWS=%C^%2N$]S3I#W'XKN_1_8+W^[2A,Z?,RCQQ@_4)>.L\F"
MBF-"<,C?_AEO'S'I&39(TP5Q1IC"*#1 S3N9AF,5:-4HHT(;35"M7Y&M*,(9
MW2Y'TTVAZ8]N6E/4=).J :6;#JL%W2Z]T^UJ--T4FO[HIC5%33>I&E"ZZ;!:
MT.W*.]VN1]--H>F/;EI3U'23J@&EFPZK!=VNO=-M.IIN"DU_=-.:HJ:;5 TH
MW718+>@V]4ZWF]%T4VCZHYO6%#7=I&I Z:;#:D&WFY/13;[*D9&\M<)!_]6L
M;M!__&U!TG"_RN>$PGN.5EBRJ*$6<\$S$TA&*I6,=P89@/7I4HJB( E1*7VD
M58N#5\!*:%+?I)!QN=(EA==>W>H(>.>%#I6*%*=U$T,60PMFSO,G3+1\D DZ
M7?Y4 NVL>PI28.BAA-;G2"EX@;@H(*I4*[;37_=1_L9VO-.$_C.S63N7ZWA9
M/]?!EZZARQ3@T,H"99]AA2AJ9$^[G-X=8UVJA\0*06<C8"W0>L KE?+.!R,T
ML2OJCEPO3SU5ZH*[LJ7!E6<:7%G1X HN#:X&T>#*+0VN;6EP[9D&UU8TN(9+
M@^M!-+AV2X.I+0VFGFDPM:+!%"X-IH-H,'5+@QM;&MQXIL&-%0UNX-+@9A -
M;N#,0NB@=9LFZK55C9S+V8829GN&(0AY9XH)F;@FRN2<K'T.X,@D#",6!1S$
MBR *9\E5L(OR(-;RQ:#CDCM6\-L\TBJ X90-RCZ_&AW$E-Y%"2K5X+#M'N=!
ME.!P&I D2C:9EF8J89?\T@-N$TLN"8916GA]*E7"J)*&PZ EP4&V)V_%=(V[
M5"V)-/(N>62$W::24A@,FTP(^X2JY(O>[P*5?:'7'<#/P7^GY&J?Y>D6$]G"
MK$K(U>Z?&F"U]R=*>&>(%I8P)"IE3ARB7+[EO2; H"_B+I) #JX)&>@^]UZ_
M&E#*VGT/I_NX8M61Y(2??+N/LJ^7;Y<X63UM Z([UV!6<SMALC.B.W_2ZW@G
MUD"@DHB31@TQ/52K08DE> ABG-WC9YSL\1W6QQ0H9)WN NK@=G;_9()@"*5#
M)PY\N5B;.H ]UY*^;IC3:C0\^ZL^=(.KJL3!D,J,T<)!,0THOJGJK 7#]"N'
M)BVG-+,SH4,UO0H<NEGA5 [ )-P[=:QO^>H/YC'W!V]C[@^&,?<'("S0@%)6
M^0=7-?S17,,?O=7P1T,-?X18PQ_M:OBCJQK^O;F&?^^MAG]OJ.'?0ZSAW]O5
M\.]=U;"Y@KW5KZ%Z(=:N7>6"F5A,5JMTG^1TBK3"T7/P&&/]YI]2W.F^GP%T
M9\M/(>N=-98 A8V^4APU\GY7TNNXVD\XW9!@]Q2M@EBQH*Z1=;6N;H1;+:\K
M!;TSQP9=GS9ML5/,.C.\^FZ3/G_/R4G>"L*4_VCX4O[P-XJH:U+[@0LFB$!8
MM3>_>J]C 4J_0K_<S9;3:_2PG"RG#UX:_CV%HSHYUWKFJF$+<*J&7#_P7JDR
M-,*A%MJPHRSG[?0SWS?ES?RD*T6FO=(HB;;[K71@('GN;(=4!JO>'&T_!%'Q
M,D3]RB]E?&^-O^JKN_O<W8:X!%:S%_X*K;HEB(3J+F3@S 9F28C7E(,YOHV>
M<3A+<@J7G>.>9!G.L\NW8G.?91C3;#T,+L7EW&&DB>TIQ< BO-/Q,-Q]TC:E
MO./%H*8<5!1TXD-R=.#+3NTEX9($(6;[=/)(0J.TNY!X(^0F+EXIZIU&=OB$
M"/E" 5$-U*C <7F3EX"$AKW4GHS3I0X9O,[Z1EO .T=TJ(25#"8#:AMTNMW%
MZ1O&/$YQOF/[9=K5,(V\2XX88;?YHA0&PQT30F'&]!00_.XRR&A?M C>^&QI
M0@B;9[&_+U!1QJF7T\LL8*WD-[8)CFPUG?57PTRI^RX[->\\&XY5DGBB2-G6
MSG3D.)]6F05L--W,FH[I9FM*CVXF-4ATL\2JH-O4/]UN1M/-K.F8;K:F].AF
M4H-$-TNL"KK=.*';,5)T[2C(MP6U(:>3#):R9<?Z?6.$I)6FXW1>MJ;TDGR9
MU+RS<CC6/BMOTV13+C@L.\L-4"8/2M-X=BIFG?[ XP!]$*14F65%S;XR?((J
M$$ORUG']"\1+X$D-ZS*J3&6\&#@N]&9/DBC?$TSMO8E>V5]ZJNH47'+3#+Q-
M1K4T&/89(?;I5BMPHE4J<*A54U^_CM*7<KIZ(H?863/IBH"ABQR7+(G=KMA#
MAD*+6QQD^"F-P]EV1])GODZC=SE:#9=TL8#>IHY&' R-S!B%P5BE@=HJ</CU
MD*[SEX#@:_R,X]3L@#3R3L_<F6!WSMVIA,'PRH10F'B6\JBE (=3-P?OBP\J
MP>DXZK#]\ 'J8+@Y'+,P]-+O@3^^(5X,*NYC@S))+79C]1/1KHS3R:8,7F="
MV18 0R89*M4^.!A_5GE;.M60..JK-#/09("^CS[4VBQ9GVI4!D.]H8B5?2Z_
M?4'6 ?,R -'V*27Y$I/M-7[,#2N\"EFG=-3![5!/)@B'9AITXGX\E7W'A!&3
MOCAFB(=B=VKY%)%P$9#\;99D>\(N.[]+<SQ/Y*>9+'6<[4C9PJ_WHDP*WGDS
M!*60+HRI(:Z':D7$-!%5/?5&IP+T\B4=3*66CF\J"?!-5*H50%.ICW( E:BJ
M+RI1I>%^J:/EG4ZB"49"-2JP*27@'$(JINR)5C?TTPQF55O)-ZE$ TR<:C1
M4TJ .8!13/?4A*HW"&ZBA+XY2C9J'JEEG=''!+=FC4H0!ED,Z-2[.+6\WV-B
M=W24_S398A*M N59,9F0JP-C:H#5J3%1PCLUM+#ZG.""J)0$-$6OSJ9?[K,H
MP5GV@#=;V_O/Y#I>[C_3P9?>?R93\,ZH(2C%4,#-]O37GMT'D?S* >&ILSY&
MA%3W*LTC[U4KQR.DM:0"I[_=>4N]T"I2W!VAD'%X8[,<7NMNYJX C*I5H)+=
M+5*(G;J:/Z7/F"3J: V5D+.*5@*L:UJ0@%'5*EA"'I=&[M25/2%YM(X8K69)
MCN,XVF#Z\=7UKI=W1@$;V#4;=,(PB&&!4#A86:N@ML[)UR7V)/F*WQ8D_6^\
MTCD(A:"[]0<=T&;-028%@Q,Z:,+:0B&+*N%3L^!S$%'.L1DJWY/<[W9TDJ+F
M@E;<&2,L0->\T,C"8(<9H)B'I-;@Y_1+G5-3Y3K(@RO:DV$RV;/;JY)->:.W
MQG>8=9R1QA9^S1R3 @SZ6*+L<XBIH4(/58JHTCSYZ<0R<.&6OBS)-&,4A:"[
MLX<ZH,U10YD4#';HH"EC2TKADP]8XTU*HOQIJ_$?HHR[@:D"7C,8[0G J'$%
M*F'068O!68A<1EOJA>;K)0F2;(W)?/TI3<,Y*=V29CG22M/I%7+VIG0NDS.K
M>6?9<*S"&)=KHG2-*EWV-]-&*:DZH=.N8;*79=7;"0[G=)I.86FZ(I.&PS43
M&^BM!12=N'<VV6,4EU:H$FII(::&F)Z#[ I\G#2(0!9*+G,JV!G03J>@UX#!
M)%N8DB0*Q<CWM'PZ_$  17T7;+5Y$CHB3H\#2,!U3@.TGGNGBP:4<!: _@LQ
MF1-'Q;ZDRZ=TGP5)N'RA,[.W>8)9& $+3V$W D7/F"'1+-0-*\#= MX8PYJ%
MO2':WFDU&K(P2'I)454(*DKA\;1%.:@NB"<N@..@BN1M+.GH*PZ7Z2S+]IAD
M!6A#^+^=JDN'-L28MJ.ST?/.U!%@^QPM,_65NBA/4:']3UE)4Q>'"8K\1Y>C
M4UV9-1VGNK(UI9?JRJ3FG7##L2I275V>1ZHK1OWYNI7:4K> (9=UNF2A@]M9
MI) )>F>7#3HQ$B.FVBF[:I%VI"T=?KRN_>\B$5#^1+O:KM)I<V?3#_,49'BR
M(1@KLR+H1=UES=:#;5)FR^6\$\@"G# Q**51+0['^RQ(]!SD;)RY4E/').PV
M<YD.<#=-F4S2.X&LX(D)R+@PJJ7]1HDOHSRF[I..Z*+G*-PK;P93R+F*%=?"
MK,+%I4+>66)")BZ64UFV/MY(G_IP+O5EUQ'!*ZJA"PN2RCD\E:2&V3J() IY
M9X )F7C<B)U2JV5/O;C-CC!95+]4S%GM:T#6E2^1@5'W:F!"TAIVG,Q9S4\?
M%@O-4;+64W>'QP1(S7&Q^A&,6A7P"$?"T -:T/_UVL%79%(> >L+N.K2Y<"J
MOKS[U'N%*R$)85:E$)QYP</^,8O"*"!O#P$;A/!%$]U)+[6\TU->)MB=$UXJ
M8>_$L44HK'P%Q2"P7.*"D9VLO)3#8KG52L,IG<S0.X12B\.AE!&C\EX4QY=3
M=&X,JM90]%N;1A5W(Q([\,TP12_OG3X#0 H#FE*K9$V]&@9K1_(GG+'@9DT7
MUY%PZ84DT-I>I_78.TW4F/JL*"7 =%+LNC%^V]A5NMWA) O8GF5QX1U+W/&D
M3#LVJ@2WR>H&F]9-86>M#H9^PS$/OGZN+.>HR<L<L%B5\6Q4";!8+,V&-D+]
MC%ALRI1FS6('>=.J80"[9=9BX5 K[GP8IP$M#.$DLMXI90E0-70K+OH]_@KC
MP0[O'L=!CHOL7#PF-UCQ-J(>Q6DU7#HT"^AM!Z81]\XN>XQ"%I-"H\R2UM(Y
M<3 8\XOLI@M,,FTZ686@NU O'= FLDLFY9T51FC2WJJ4=9$4MOT^;298A: 7
M%JASODJEX+' :LQ2L>"8XY)1&R&?@R38J"-CY"*N-D-4X*KMD/YS[V30@!*S
M%U1BIW8#17BR9BC:$W#6[*7 ZN;>>>J]9I60Y,'@\(>0V>5;^\GP$:6T   #
M3(UA%N--B;9W[HV&K!V-NCB4<).2+28/>;!>ZT)H!"&' 30*@*WPF9Z$=SIH
M88FA,TP.<<&3I])Z2>L)M?9XGB#E\@R> F+[H%U/!$:-*W')CLPU"QM@^J&?
M [8PIP_ [LFX[$VD\-H=1D? .R5TJ/J$*&7\3C2NTCW+LK1C78_BZ+9:S-6$
M0P>RFG3(9+S3P0!,//'3B#HXTLWB-_.W:;1YRDLN9G\I)L#ZP%J]CM,H6QOX
MG9!;G8)WN@Q!*0O&I:SA>JA21*7FR9>THE<Z]F61X-9$,JJX6^:R ]\L>.GE
M8;#(#J2P",:TRHMG7'/H#K],5BN"PRAGUZ@^XTR_4Z>7=\8>&]@U=73",'AC
M@5"X. *_H$8'U4IPQK@LGA7_NL=)/GVF_V'(]*"4=AU1K('<CR>6B'KGDQT^
MP075THB+'W,YY-A$TH>TR&4]DD@3IB(3A$H@?0_6I\])G%"&5]]MTN?O0QP5
MM*%_-&RA_Z"C_F=,)H]93H)5WG>TXG,GW94*%N^>^@^]U[X*D3AI8HG0?JFD
M7%?T=;K:;TNW)K&@^]A5-<M 5;7<?@:BDB6 A(-*I0CO#!Q7\(2^..17J\7!
M1@*_]]Q5%4MA577<>0BBDF6(A*R_E0QB0KZJ^1IG*Q+Q[4*='1TQYY4N 2G4
M?4L&%@5$8&HFM&0].?9[O(E8U\(@U->>:=R80MZUZ]?"[O<%4F$0I+%!J.PM
MVDJHUO+$HTF2[(/X'K/+,#2&=L5<LT8&LD^6M@PHCDB *:E1R*)"V!,C_F,?
MD!R3^,U("D'2-2\44/O4Z(F!8H<<FY(@M;A?CO" DH@Y,"-)1%'GTPT%6&'J
MT9,#Q1,%./64I);WRY2')QS'[,1.D)@=BDS8-5O4@/M\$25!,48)3\D9KH%*
M%3BTX2MFUW289&EL2]XG>038.O[4PF IU$=HR:)BN9/I>6+2 I,H#>DPFY@X
M)$BZ9H\":I\W/3%0C)%C4W*E$$=<WC])IDEH19%:S@]!>C#E]"B% )*CB\Q$
MC2D[:NF/&#=1M@KB LL-_:V_.VN0=4T0)=P^201!4$11H5.2I5"H.,-5O!+F
MKS@@=G1I2?HABP!53I5:#"!1^MA,-&'R7DARM2>D@UK=XZA%G6W*&L#6^[,*
M.1!$,8 3=FT+\0Y1//5 TR2/\K>;*,9W>UFPF53$%3=4X"I.])^#X(("E)#F
M@8LA)H<*02\U7^T2)#D+N5::TQ=SRP YR"X+NC* F" %IF!#(\LCX+TP@MT\
M38*8WQST[_A-:9<@YY83"IA=4O2$ +%"CDQ!BU*XN,T)47$OQ%B0:,NRHD8K
M0U<A"KJEA@IHEQM]*4#D4$!3L*.41@^S*Y\]R3)XG864J-$Z6O%-9P-+E/)N
MR6* W>6,0A@0=?0(%0RB2JBKY9-(LV25DEW:"G?@1\/(VU4:JD<H!BVWI+(R
MH4LMK0H@@MG@5-"LHWI1Q*2P:\7+ A KP0OC)F%(/U16_M=ME.#W2ONELF[9
MI8';Y91$$!"3U.@4_"DE+ZH_$--A2:N D.;# %,_^"?-!UO2? !-F@]C2+-\
M28&0YN, 4S_Z)\U'6])\!$V:CZ-(PXZ&^J3-%?US3I;IBRPX6RGIA3(B5"EA
M&C%X=!&PF<C"%-AXAJGXI D?6,W)@J3/4;)2#YE5XEX(HP M94U/%AYUY !-
M_*D'Q)6>5U]3#,J-C:02\^-ENB#E+J:0@4>2+C"C<RFD?5)BD69Y$/^_T4X[
M$9<+>Z&'%+"4)!U)>%21P3,1IM!!5,G'Q+JD*]O0D!XEZSUW=P18 JLY MQZ
M"(($,D32O$FDV#MR?DZ,#7DF! <*C]!][*R2):#J.FX]@U'%(B"AAGF[IC(^
M&O)MRF*DGM)$'2 @BKBJ:16XJK;[ST'4N )4O]:Y&.)RGE;C7W.<9'+WW7KF
MK&?OPZD[\NH!B-KMHQ&ZZ>JYX]K\F40Y??-5NMWNDW*71Q8WJ)!S5<M:F%6-
M2X5 U+X.F9 "LY!%76''M'A(XV@5L5OA/M/))XD"F54R(5>$4 .LV"!*@*""
M$I:0M:<61)6D8Q(L"&8DQ+0B^"% G(28S-=K:6^O$W9%"C/@BAQJ21 D,<+K
MDX4JO%NU-%"A@KB.7]K,LFR/R2#R2%0\44@)7D$D01XBG50@C:0J%'URZP&O
M]K1_?'O_X7$9Y;%L<BF*..N3%.#J'JGW' 0W%*"$3.WL&;O/_/V';Q]_ARHM
MQ]5_ERY)$-(N\>%M^YC&BNQ34BE7)-! K'@@$0%!!34N(;UIBDI15,CZR$[5
M 2LQI_?<%0&DL*JJ[SP$4>DR1$+C[]2U)Y<_?5T]L=M2%0<2Y&*N7;\,9-_]
MMV5 4$ #3)B4E**HDO5Q(*'ILC;F0<#&VR!@8Q@$;" . C:V@X"-MT% ]=HB
M10CU2_/'.-H$BN2$6FG7I-! [O-#(@J**FI\2I]1JZ!&QW5&2Y[B;):L4[+E
M[V>73DFL5,@YRVFI@UDGM90)@>"(#IF0UK)(.M<21DS:-2_V/%%_ >8F2H)D
M%05QG1Y1MB)N5G'&%DOP-7$,\C X9 =2H%.A5N4RK!6;5)>NE]*+ (R?<1S_
M>Y*^) \XR-($A\5:BFRG2"_O-F+& +L;-*,0!D$G&X2*T!FF].XKTT*56KD2
MYH5)/Z7Q/LD#PL^2$YEG4LBY98X"9I<Q/2% 3)$C4S"D%D:%M)\#VD7VB'J0
MQ1R>- 6,7MSQ<6TMZ-ZI;:DL(,YH :K.<)<Y/YJQ<:'EZ8AECME]$=$SO@[R
MH,2FM%<E[OI0I0YT_S2E3!80A;0 E><G:QV6*B:H..4M90RYHD.M3:J)$N])
MN4\<(T 4<\?4(H#H(<.ER2!#4"7KA0L/VR".+_=9E.!,W1'UI-QR00JQRX6.
M"" NR' IN,!%427KA0O3+28;VKU](NE+_E3F9U7:II!VRPTMY"Y'I** N*+#
MI^!,I8(*G2JEKA_RO#8)Q8LLBVI+):*.::,$V^.,( >),"IP EMBO&+K+7=I
MCI8I^I)AE#]AQ,-90_I[*Q-\48ZOFT96*W8@HAB5)V% 9!32"3N_=40)6+A[
M1) $020C//4])+4&JE0<LV9..4S:\S@.8I;CK?*T@UG%%8-LP5<\,LF#8),E
MR#ZGN%IW<LT5$=/TF<VHG=Q>/<3K"#D>&4L ]@;&+0D0'%'"4@V+VW<%^,F=
MMW^,H]5-G ;J59:.C..,>2*\7K*\1@ 0 T14JA1Y7!!Q22_U?QDD7\E^EZ_>
M%B1=8<RBK++:6YG6WRRUW7)FD$E=-EFI N+9$+P*!C9%H%89%ZT>R^=B'@L:
M9]G<TM77AZ> ?L#Y/L]8#TJ!J5?!M4J.MQ<L#.AM,F@T %'/ J9JPX%K(JYZ
M@0IEU-+V-#_+FBR .+Q\N\=K3-BY@R5^S2_IB[YJ9A@6NJYG;];F]"=S1D40
M)!R*5C75RU"[ /3(8L3*(M OK!#$2W%]?_ELM28\D"0EDSS'M&GP(";Y:0.=
ML"O:F0%7/%-+@B"6$5Z?2;.KFWM4:J"6BH\#"<V](-0S;_,I(2FY2FGWO=+0
MQT;)_=TL)@/$:UI4&B!H90U3<WF+$$B&>#&H*0?]PDIR[:Q*\M]$9#N3+6KV
MGCL-2NS#ZD0@5@]!,$2&2!I;2&N<":'9M9]Z5AQ_Z3QU7,>RPRZM1Y#J5W.T
MI:I=#P=:RE>SU"Z*4PR"A.,J[D/K57/U&%)5]S"IJKL2.VJ5KX/LD:/=9^\V
M0; KZAW'>5;]TA"@_.%O=;^R#!Z%,TTJ(1<TT -D3)!+>">#%I9P2J7NUG_A
M8L?MQ@\BQ&V48+9?T8^AT0EZ(88 5$J.6@H>0?K0-"1AHGP7*?//E$F6X3R;
M/+([HE;]]6*5D$N&R &VV=&5 ,,,*2RA*WEXF"X?@+"@7"^V(H,@ZYX3"K@B
M-7J"P!@B1]<GRC_^P_L__O#GJR_W]].[)2IH\Z-WWEP%V9/"N.*12U:TP;1)
MP'X'4^<M,(HJI@+>Z[4,H\GN\0I'SVQ,<X=S^9ZBG8I3[V !ON,D-/)@>&,!
M4LZG2A&16O,")?BXNX*C?$>:<(?W<Y0_7>VS/-UBPCVBD6I6FDX]C[TI'<=D
M5@/#/WNL"K=6ZJ. =WK>V3=+GBGDE+Q1_ J3NR(N^20#UR9.^SD8ADA R:E0
M"WHGP8+@71"%T]<=3C(\24(>\]<9EBF,M=)T29D!IK299*$&AF#V6.6\*_41
M+@K(4)"$*.51GJOR*"40YV3#0(]<,[+*'W_R- _B6]LYEY8N2U94?<AV H,9
M"Y+N,,G?%A1P3IO ]-=]M&.K2NIN3*_BUD>9P7>=DUH>D%<R@E2YHT*1NR%<
M:<$8F\\ILH#%$-[B(,/WT>8IGZ^_4*?+6H'B0QAT7!+-"GZ;:5H%,%2S02GG
M6JV)8J:*"--EV=CV]!^\T_-.N2K5US7>I5FD(ID@Y72S0@ZQLU/1%0%#'3DN
M.5GJI&MA(>R=&JUQGF%M6BKIU/.HH7;\C2@&ABIJ; K?LOS+]![,BO1=FN.,
M=L.W:9!T%\ON:.UI1]1VJB[9-,28-KUL],#P;0!8.0%9 >@>V.KF+,DITHCB
M*9H2-6?ZNHKW+$[^4YJ&+U&L7DBQ476['F5O3'>=RJP'AH<#P"H&]$'.X]+9
M>)ZZS1!O _(U.PH=PWV:<XZ]I_]7Q'[17_YV%>PB.DF-_H[#AW2=OP0$7^-G
M'*=\*G&59GEVDY+JT4,:A\NT6KSM?84CE.<DKNQ89O,HM$,+\\[=8UF@& B6
M*G0@6!>'5JP\&#ZV-5(QCV6\C0,-XS]8RV,B,-WB6'%$'LC2F)8(/CB@KGZ(
M-6]3Z?/EY!8!"5FZC8+'*([RB \>^9G$)^K:,,G8"ES^9I@IVJN[I,Q0H]JD
MLM7UWFF-!"SGY.UL<CF[G2UGTP<TN;M&#\OYU;__97Y[/;U_^"<T_8\OL^5?
M(7'5+L9.I^")CQ;1=FIIB)P;$W?78IO_I8XJLF<1O+%YKUUX5E_81V"6'+ L
M)*LK"89%6GB&,*Q=H>.=/7SLQM=>K/BC%G<^K-: %L;8$EDP+#( 5"]VU21"
M[]"Z.%R:;%"P(?@$MQ2,]$QDCT/1V:K;DTK>L7_2P^ZY*+DP&'Z9$"H=%=.J
MHV2\DZDX/HWYGF=ERYN>3WH5EY2R =]FE4X>#+$L0,JY5<=&M-Q6Z<K>52%8
M/'D1@#.5W<UV2^*9E/P%0=B03Z\!AGY6,.WB(-+Z,K$,' %E$=>6-+13]1TA
M;T-)&STPQ!P UA D'S=]MG<>6H_B? _?[,9MG@=LQG78@<.U;I3J+2#>*-RT
M,0S#0@] -ZH/P# J@?%9MD@']Z<7]*<L0]!ZU58+,3= ;_[+X+C >BP+5P7)
M1;&$EE'.UTPF2<AZ7TIE3.<E2G)H-=P.J(S0N^,HI3@85V3&J!HUU7H\]J:C
MB;[EX6'O?_B==[8-WJ.$LBLY;!_R#'8>1^XURO86_6\#+0C+>TIPL8/Z4Q#O
M51F@I)*.#RFJH/8.)?;%P%!'C:W/F5H2947"Y&<F[)TNK?3/.JZ(8JY[-QG(
M?I?6E@%#$04P=>>5)@5%?D3_SP_?_?##>[0+2,&6/Z,__/##Q0_%_Z.LR+@=
M[/.GE+!POPOTSQ<??_CCQ1__^)'W?/]\\?X/?[SXEW_^8R4:L;N&2[$_7'S\
M^*=:[ \7?_C#!U1@*(73)I,W"G)TC5>8W7&"/KZ_0(Q&7+?_ZX<+1'5WF-\A
M&?L_TCT)0WYE5! O@BB<)65P9*M.5+LE%HI.-Z.L#>GL2AFUP#03:ZB*?:I:
M';%3W>^BY-VJ*,$[!^]Q'D0)#J<!2=B=#)/5:K_=QRQ/^35>1ROEZ38;19<<
MM#>DS4&S%A@.6D-5[I56XB@LY$\4Z<_GSKQ1T*E1I[W0?_>MD)/L@'*<1?8?
M8F8=T3^F$!@K*H?"5TQ;]H_O^"N].\8EP4&V)V_<NL+1Z\:@:G&73M $NNWZ
M5+)NZ/6G@EX)WC"/I%NR,^!4A-KB+/NQ^+-<T"M+*4:OZ-OW%Q\__+X:>J9K
MM&J-;0>,*"&NU%@O)/A>F;%;D8'A[HSX=.O(;:5_0H6:=^*80MK-*^@*-4B'
M$ R;$U(=6(2S1&NYC<&]&$@Z=A>K%@&9$YZ&.N3.?H$)O\/+:J5+K>QO =%D
MD'I-4:4)9F(R"*YQY;%>3P+&R.(*N4F]GF7U,40E?PQ4&:!F7E\#*.,4,(U,
M$Y8H3S0?EJ)]#J*8Q9(NTTM\C;-HD[ 6(YMC#5)W-OL=850]Z1V@ZYUR(P';
MDB^L%4&ZNQE?DQ_0"BL%WVZN"]SDX@II[URSAFC+KF)+!22SU%?L6FOYYICB
MDEU+%=!L,U^SJZ)<>J(K=@_GW3T.\7;'MF$6)%H-FU$H=?UQT&".FHD*1:!\
MU*,ULI)^UF<ZRV6W5NZ8/MIA4E#5.SM;FX<#9[M6FIY"((;,<RW4P+#2'FN?
MD^VH"4C36^%N=>/<5JOAB6\VLUJ-.$1^6<YGN[PZ^F3V^/S23B:4TEYYI9Y&
M*$3A\DD[@9!R"<CL0;#$/'70JWAEE&'2H).'RRWS=$%*,$AS!<DN<V&;_:YT
M)>]YP[\+V[#C7PB#898)89]6W5W]BWH7G^MXY]0]?L;)'IL2@8MB;N/FY""[
M47)=&3!\40#KT^1^^M/T[@N$/%@58(,]?BB@JWIP5:[R"'S'NQ+R7M\LH^U\
MS5(R\]U[3)ZC%<Y87EN#4[!1=#N0L36D.YPQ:8'AE35486@S?UBB^0V"XV0*
M4\HVH#6WEG%/I1X\D36E #""=%%I\QQ0>199",87?2)IEBU(NE;&]'<D7%)"
M JU-B-9C6,%9(K ^(S[=SQ\>T.?)_:?9G7<&U"D0RGL)C5?4J.6]I+50P9:F
ML^@+@W$D)H1]"LT7T_O)<G;W"4W_<S&]>X#0Q3S@F!:WH3WEYX!\Q2UK%$;K
M%-S>BV4"WKTB2R4-ADU&B(J#%D%<1H-N*S7OI+K'&:9?\8G:TKH40L\K@X[;
M:90%_.[<2J, AF V*.4<JS0YS5KW<G@GVB><4!?,SBA-PFV41,S]LC/!>JH9
MM9R.F.Q,Z(RB]"I@"&>'4TZY4I<SKJT-()M3W>WS6V[8[:ME]V\:)HCR7@9?
M*MC2P5=?&-:PW013>X],G49L"B7K< UIEJS2+;ZE<Q*3X6U)+VP2H4IYU(@!
M99  L,^=6S;_N[F??T;E.'Y^Y_]"&I[.O8#>8K_-A:4:)>?)]8T&""GVE1I@
M.C\KF,(,D5]K.KN[FG^>HF^K6>+O_$\39TF.Z1<RC.$%*<?W1<H@]JZ&;(M
M.R MA]?G2"55)<OWSHWR2HDD[;I2/55,2AXN^# 8(+GF0Z$!RP>98 H^B-^O
M%W%)&%<N#N46$%H-8A0,,AF'2T/)U+ZRL9"GW5K9%_I/N7"'<^-(NR?CE$ R
M>!W2M 6 $44"K4^.N^D2L5&U=QX42'DD^-9\3YY2VNUH1PNY.^J1BH+II?3X
MQ.$/]R*U./JE4O@O[SRJ$B15!PDN@RQ:*:Q6R+KDD!9NFT%203#\T:$37 [.
M44P]4G-\Z )Q>7#<N8[BO7B0W"CMDS\]R#H&E:)@.=3%9\.B4L,[CW[&T>:)
M ID\TV':!M_M69JK^5J([];YIH%EN.3<*//:3!Q4 !A^CD'=9VU5!@J*0LKH
M:B@.4&%BV:YL3XP,+@4 >4TF6M!7501T AMP6U/8PON>,A9E;$:\#T[KA_96
M41K2D3/)=5,W#<Y^?5SB392PCA,]!C&[GA%*PGE;=^'9(5@U>;^-VI8TEBU8
MPICC'/)1Y&QZH/!Q-NWF(I >8#6+.\O)9 &ZSL&DD?7N_"T!]CE2:* IVG6S
M0!SI(.MPID@/$-HJ06"->)303@,\@[2'"@T\<N)Y;H9Y'H6X8PYI0??8(Y6%
MQ!L=0 5C;GQX'BE.D^?1*D%@C=;S:#3 ,\C&\ZAXY,/S7/$$2G2.M$S[_M3:
M<FT9?MEF89Z>?)H" '/1C-J:FOAU]40%Z;_7*4%BWPF$K ,]HD5)8(D[Q'<:
MBSE/$H_SLJNJ0)2G$B8[<;]72AO5UX(-5W?,W4%&]0AKI0N)I4, *ZAYI:=F
M^ZX2_V0T>=9!A4 DIM:?#BCA[$AJXT4'4-6)_[P\S']:JCNFZ2"C>@2UTH5$
MS2& %:2\!.(_K4PQ^<]!A4 DIM9_#BCA[$AJXS\'4-6)_[P^S']:JCNFZ2"C
M>@2UTH5$S2& %:2\!N(_K4PQ^<]!A4 DIM9_#BCA[$AJXS\'4/58_O/P*(-F
M.?AZ3Z)DL^";Y3R9.'\VYPGOL^DK)JLH4T9SCBC'^86/8\P4HE^&%.*=Y8<B
M%XC.69T6PHS0[!@,C)0&.A/YX9T1GZ;4@T+4CAFVQ.1*9T'$-E)=SN9R!XJO
M\:^"[ DJ]<IXHN'<ZR@"()_$$ OVM;2@TT^$.H1_8/KR1?#&CA-E\W5M)PM/
MXXE%%!]$K^+T1B$+\)V+A#3RT$[%6V"5][11*4F[VLS_(6:=\RY^ODE)E:UV
M1 <@*0. ]].;9]L-"P5 ]XE:U&JVEGXQ*^6A<K9]#\EHTBH+ <!:@X'6_??9
M\58/VYJXIU[@;,!_24),IMM=G+[A8C*VH)_I*<CP@D*E)ES1,<8D":]:LRWI
M8L:A1;I;;SJ.\<WJTV'E>6?T$8W0\GO/RD5TE(NJPE'QO"H>L?+K<2U/7'C,
M.?YIVH)FS?4X!9]+NU"MS1ZCU-]$&]&OX1ZSI=CT'B<<$PS,NN+V")^N3Y?C
M4IU=/[>CDA\]G'J;)MJ9J09E_ZM/^9FX :<D3UD%XPX=^CBK:JH )4C3]P>R
MZ%1GL9FOF<N]B=,74_).O8K;R9,9?+=1J^7!.%$+D&+G5Z4B2M>(*2&N!2DQ
M49,GN;+I.B)XE7_&^5-JNL'*5ME/,FL;@^29K76:8/@X"*ZP\,[(R#X<JI/V
M(2H=/4=YA#/_667I6(1!7)#T.0IQ>/GV)</A++F)$NJEV5T8-=:K-*'H]_2W
M\H.DB<E1'JMPQQG_COA!>H/6(Y0,IED<U9Q^LYF$_[W/<K[IP$)/:'.C-1?%
MF"5#+?(^T5_9WWSZLJ=O1E$"M(E=XQW%'W&[V44,VY3DT=]EZV!6&BX;@P7T
M-L,UXF!H:\;8YV);@\^4@Y:.=W95^?:P;H'5).P\X8H2L# !$B3!,$D+3[X\
M\\BD':])JK>'M)(^5@T5&ST:,2@[Y6:(Y[/E6(]W;S&EZSU+]S5?T\Y]DF4X
M;_M+0WKYP<5XF;T,-%(ZC[$L XSG&@E<&*2U)-G$NQE^Q:Q<1%C![ $=GZ&
ME>V=V[-DQ:ZYQ]>X^.]9PJ.FZ@_"OP"[Q>@V"AZCF(\@Z4#7G([ZL%(=IZT^
MQB?HI;<^I$@P[>(X=@A+ #RG0\8F*+P1%%=%QDT1_J<HHN'W>(6CY^ Q5@:5
M&'3\4EH"7T_8E@*4,<40L/);UMK_.5FMTCV;3I-:^41C3Q'O79KCK $M&SM9
M*#D;D5H;4 ].C1I0.#4(K9E43.^(A#J!'V-K3\PW_QSE3U?[+$^WF' W;MW8
M-"7X]7%&T_0>3ZD.A:OCH9N)6Y50]L@ B3M+GG%"7Q0-Z( [.G[)*8&OIV-+
M 3X!1;!FRE4Z;P#)]H!7>Q+E;]=XEV:1\K2%C:)?VJD,T7.OKP5X0J* :J9?
MI8C"0A,@"Q<$[X(H-%UP:5+SRT"Y$7K^=77@NS\I7C,%2[7JULQB'ISRB^DH
M-PD+WP#;'5?3IT7PQD:Z2Q*$]@R5*_OEJ<X@/5MEFH ]I@;N@%GSKM"&R4RR
MQ^TEJ2&?1E#USDJ%,49.]O1@,U(.UHJ/3+5VH0#YV-U<J(Q\L_XZ2GW/B^1Z
MLPS+X7)EP!S5(S83==[;"TH?XV@#(V+";CUA.'$-I<!;+!I(8FT1@*EL@WO
MBE%KX\8[E14Q>,V&51T&-RR(3UH @"A,C6$6D982;7 W-@_#+3M99(R(A,I:
MMD"6=<T<%U^L+0@ BRT,M6"SIA0PSG@T='D8/3_3P8/IHZH$4)&^59Z493I9
M_;J/".U\<FI%1">.1>B XC-9Z/E(96,T0Y;/1JD$;5G+%K!Y:%"N;E5':],U
MVM&7TZ*_S]EBPS8@7_T[W<;<:_R,XW3WD*[SEX"H5K$T\GZXJ( MYV!/&"[W
MY$#'<"XKBT!A421[ 2#6E8V,=@5T2)*_L?/G^20)V:%=#M6VE6H*\.HCC89I
MG:52&RYS+9&/H?(Z>F47#,/8"[ ?PQP\"((Z.CUL5'H6<RPU;N,<2S86A<I:
MR>F\HYWA!#7'LC!TW-G,<YECF:&;YECKJH1CSK$4,:/W>%?GF)PEV9ZP'!'M
MWJ0V1Q;0.$3;613I<)/J<%)[52C#@W&PS6.#ID@V+HBJ0GGD *Z*;9CJ@)VW
M:;)98K*]"G81ZVK8&O.\WMPP?1:3MA=VVIDD9:=>%2P[K6 /8&<Q:$TX-?E^
MUXF(2)W\"N,PNZ$5667AG:];USQ(CWC::#DCGKT)->',*MX[XV$X;4*EBJ**
MGG@E9N\^U=D-3<YMF8"[,QFJ?-KB4U!>QR97MB16&%3>[#:O:Y?'G&B09)=O
MG22&\Y<$D^PIVK'E .5R]_CRG"[Q'&IV9\5G;&'>7=NQ+!CJ](K\<-V,EKIL
MEJ":2>W^R4,0TTZ@FV=1\V55BKZ(KS=$Q7"Y%D@J:Z$.Y6S__JSC]-4.%X,.
M7F. NOASV*+/62QAJG$KES!W91'H\4VZW..=N<Q.]O^L53[3]DEG;_<XRTFT
MHH.N,D5R]X>69)%0OQ\0-GU=Q7N6BI3^P4_FW],!W'2]QLHE4-<@7+8@/Q^X
MW0K=(H#5DKW8+O,&45D*V\\ <2?905_F%%_[C)KET5N9A[33#WE \I,U'<T.
MR 5ZQ)LH25A'F*[1&PZ(IR3AP#@ ,/GX<0R2LP"SLXGF^G>3XW&_V\4\OW40
M5TF(9\DZ)=LBC:4A7;FMMM,LD,-,ZJ2%M%,%,]L<AE?($]C21M=1MHK3;$]P
M)]$Y:A7G/PIVEN28?L-\$43AG2;12D_*[?D8*<3N^9>."!@VR7'U65-)(7;@
M&@ CV)THR^ 59R92B(*.STTI@/:.1O6D +%# :U/$"X"@QUWM%ZH)VLBL)*P
M7LJ8Y7AKC%"RUW>Z-C74K,[2E*TR&.8-1:SMYVAA[WCO-FMBZ^AXK"X030"=
M^N#)TXJTO^^5'Z<MXI:%(K@NT9KG@+@D@!(6+9A(.WURLWS9"13:$;R-]MOC
MKF1F>/7=)GW^'J_"DB"KL.$%_<??%L^[I2358?>1"Q[(P+#Z;__NO=XE8/KU
MO0C>T'.&%ICPD2ZKVM9@^!>N>MQ+?LR5/'W%JSWU0_@JR/$F)6^3UZB_]J21
M<U7]6I@5%Z1"((BA0R;<,5;)HDH8_<+$73-CEH2T>PKW0:R@1%_ %1?DP"H2
M=)^"J'TI)'&V4PGYJ>Y)^-_+E%T"H:CMWG-7E2V%5=5UYR&(JI8A4M\+Q"X
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
MH3@JJ=K_5M*/>!^F+$BZPCC,;FB=7>-=FD5Y]G.4/_%%"F9>E.]YYF)%ASI
MWW%2I&%F]?*&V"E[)^58Q'V2%DFY<(@HJ?;)J7P8WY9EF4VJ^U"J!)OT]>DF
M87O_\H@6"S6'(4+61K3BA8PZWJDT$*@0250$7;"$YP0_XV2/>0[+4NE$A+J,
MXIBAFQ-VXUA%8IEA*DEGM-%#K9DB%X,2K&.&V*?%+<ZR'U&E@E*"5E2IS&ZJ
MY\4I@ZY2=BG8*F<N\FJ?Y>D6$[[U?X=SS1:#A1JT,/<AD"7!@5RW/,EUXC9,
MO4[:,&J79_/D2[)*M^PT+XL)*[!(Q[J#BW#>Z@<:)[@#2WT8G<@XT'WVU3XC
M2,+O.WYCQY9?$K1ORF)W(Q2%G7#D,F[@ FK<,F+8 F'48MDQ6<.5=U*2$<SI
M N(Y6V^CX#&*HSS"V1*OGI(T3C?T[X>W3!(@,4C39<#\ %/: ?06:C"ZTN&
ME1UIW&A?H+S2?T-9H>Z.;@^8/$<KS%PT.P*PCW/QGK:!NCXIIS5'1SJI(HQ>
M="!:)>=NVYS+RA+XCL6J+L/[*I1LF%H![^]P6.HXOF_9#-\TDZ@58+B](5#[
MY%NR0I&,@MZ9=AUEP69#V%""A_'>%UV]+NI5K^)T4]8"?&=/5B/OW<L- "EL
MNG14V$9;J00FYE5AU*TA^M6L!H!N@A$6E+L%%QMK"70 ]6X!);HI0;'] )D#
MG[ZNXCT+OF)+._3_PF7PJOA.HTIRR=(#3.U>5#:X&#!<'H]=W CB)0%:EZW'
M&@,79OMZ\.+ !Z&VF5,ZKC4'"P!NZVS(7$R'%MC\7SIMU*]<&E7<'56V ]\<
M5];+P^"3'4CA@(Y\\G[$;=8C!+VN,?5;G6NV50Y<B,RT474; FMO3#<2UJSG
MG8<CP$HR+9!]<<\I+P*M6F5XI^)\ATG VL<M#C+9&6F=H$N:J8%VCK<)4F H
MI(36)TPMB&(F">08='5&TL03F:"74ZE:GHA28'BBA"8]B4K'1V1;$N4* E'*
M6.#L)B7WZFY,D'(:]2B'V(EM[(J (8<<E]J#\'" =)^OX_0%[>F<EE]/FW8]
MC/_EYJYO_!E'FR>6QHC.#H,-OHXR?BDJ.]-4'K*T<K$VQ?CKP>R-5/=OYC+
M$'<D\#ZS*T44%)HH+%5AG&;36GF/MT&45 ^9A^_G-!I?#!@>:XRTYK&DC//@
ML1JXD<>D4BW[<M:M>Z<SB_C!N&MR/>NINJ+KO>U%@..+<YK,X$"C.VD-1I8%
M;0WV0#M WOMG:Y/^QK_!I4"DLN:6OX%%G"MQS^""OT&F:*[V&U$.6,ZJKO,;
M7,A9\Q;Z37Y#C+FA7_,(WZ0H!BIOVT:.I2TK \RH>"1P"5O_^;S8&CT?P\T6
MQ8!E:\O(T6RE99PG6QO@$K;^R]FP=;*F,\HC4;97%D3>2LT=0]Y.06?'8!GZ
M/HW_\1_>__&'/[?_<_F$"0Z8ZMG0^\#O!)/$A_ 65G3\0-1FBDI(RX/I]TFU
M(,RV.O;YGF"TC9)HNZ\VR<HD-/[W/+3?Y$O+CNGKBHI.MNQ?8[ZONBPPI#>9
M:]T"5 5!.8%Y#"/DYS)GVQV+G4O7]98(A!-+"@NM%M<]G5(R0%;O8O@YF62_
M66%W'&E'0; D7<]!O.?)V7J;Q2A]C*.-SSL7%5;IDEYK-5R%S]I[!TN\8[K)
ML@RT8W=T0*O".ZHYN!8;)7BQZ_:034%@3:N[H+]D&5K95^0A=_+0B<!\S='W
M3!0?N[MK1P35W*O3///NAA6 A !1*L$<+:]H$ WRGFU.S]=?LN*F'W-C["E
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
MD97)&*J[\GBW)/O^.GE +<(*IG@\ME"JDTJ@2J_HIKUL 53P,;O4K H'$?<
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
M>N"?^&5]B?\WY:;"K_P'4$L#!!0    ( -"#@5B&\U+$I%T  ,X;!@ 5
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
MZ[&^])WLEC^#;*X"R*], $9@1I_4!5)E"57I7'E'/^IS9@"P>H@;PK:"6],
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
MFJZN3I?%Z>H$;J$)>>Z[=%^]RD/36&1FJ+B0)Z]RP9GJU,)9XG@XY!0H[N%
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
MFY2+,]:9+@,1LX$G-.)HBCB;WVU RVB\OM)&SDI%$CTZX+,KK2YXJ0N*S-N
M0YW?4+;<E0[&T4ZZTEIE ;WBE@O?V9=:G;^LQ:R'>FV[(:T)N&G2E>ONL6;,
MG$OWR768[]S;\>C8Q?QPZ=RU'QW7*S6TC UL028G_RX)V:;L07Y1^\G/OWZ\
MNL7/1-75@:5^M_%%<<[R9@^\H'B][\QM=^ HSD$$M-M,5F:Y"T$]$2_&XW)#
MRF-M,1>>O4 KKN<QYS:<M8?H^#4-QAG<S1K2?$%ER2+X0%0ZX /QW*_J8N<\
M=QGQ=+N;'006;K@6KCONI!:[DN,%[?YJK_WQBYS?1;MB^6W\\F:O5[P!AU>=
MO6%U\3PO_]I^94V'J^-Y,\]YGM88A?"\F5=RNI$\;[I%+D@27IW0/WYY$Q7B
M>P?KZ[@.2)WP*RXV1)L'FI0C^MQS_9_OHV:'=6T8QWJAWSLA#HF W<=95>&_
M!R\1T#__..[W8(\B%T12_369D?FKHB )Q9O@(9RV^UZLFU8SQ@#&OZ.^!1OK
MQGWY1_5G%*?17LY"BQ8!\^K$<>_]NW?/S\\'$6L>M(.G=Q<W_]C[4*E4JO6S
MXZ/Z\:_O!K^L7O9NU-O$NWI4Z&1H"@#?,+X$B?Y#NA(Y3OK9X+= "TB_0RM.
MW^WHWY!_UM\N_R:V,G=[%:PJQ_OURN9L*= )\(3X0SIW-;[X9'&;<[A?J>_7
M3C=R<\3<"]@<19C52N9ZV9QM&B!+6L>ZD>6&;6F&+#.;LWBRK&WPYM2*WIR!
M"#LN <<N2!F\&/EY-DM9R \KV<J4'ED;I:/T[^(3!V;RTO/<IBOD',MQX4&4
MY_5$?" ]_/J%9T>RBN/YBQOM?9!9F!/L )_ET NUJ;X;.=<-H14#AXV P\JY
MP\>=A\/('=A5[F#@L$YP6#EWN-AY.(S<@5WE#@8.ZP2'E7.'RYV'P\@=V%7N
M8."P3G!8.7>XVGDXC-R!7>4.!@[K!(>5<X?KG8?#R!W85>Y@X+!.<"B..^2F
ME*SDJ.=V)=9F\/#7"G,EOAH&=!<&3M*,-Y>ZHI!*N^(B;F5?&4Y46FW5=(G+
M))\UCOQX-236X&))N-@P?B%VDFJ>;C,XAM=I.,=DG,,@9,=YR$#:SMC& AN(
MC"%QGG=^P #@P(=?(TVD'[GH%4GPU:(5NK$'?K&+!WZQPP=^N8L'?KG#!WZU
MBP=^M<,'?KV+!WZ]&P>>W]5M>T\[31@<6/.N'/;X%GG;?_!CU[\K(,AI.;O]
MIS]ZX;MR[/DM)[?_Y'/7ON6'OSD>MF5N3LW8K=;*;E5X7,K8 S=VJQT[<&.W
MVK$#-W:K'3MP8[?:W@,W=JO5VZV6?MC&;K5^=JNE@\#8K=;!;K7T8S=VJ_6Q
M6RT_1MP8:59II%GC&+3I &.,/ 8P4P'&&(D,8*8"C#$R&<!,!1ACI#* >2W3
MPABY#%@F!HLQDJV)D6R3062,;"LSLFTR;(R1;L5&NO4'SW#&L3'MK8MI;RT3
MD"<$C#'M&<!,!1ACVC. F0HPQK1G #,58(QISP#FM3([QK1GP#(Q6(QI;QU-
M>QL&(F/:6P_3WH;!QICVULFTMU[@&5WWV1CT5IQ067AE9V.06P.#W-H<N#&H
M[=B!&X/8CAVX,6AM[X$;@]3J$RJ7?MC&H+0F!J55@L 8A-8AH7+IQVX,.NN3
M4%G<X;_FL;R@?UA8Y0M-B_O;'HONV1/S$_:5Q0.?RF]=!'X3EAS:R$3OW6B#
M10;L _#%_B,(Y=ITB7!@EUY%R320'=K#C_V/S&]VNG;X<Z 1P:@S*7HNC_W>
M0#^$5P[?V$2G(KR:(;P)"*]F",\0WF()KVX(;P+"JQO",X0W%>'EYKT:4=.(
MFEM">&N96?,JX1E1TXB:AO!60'A&U#2BIB&\%1#>H2&\"0COT!">(;S%&E<,
MW4U =X;LUI?LUM*T,K47[[S9#!(_AG-N,O?);GC,D-X:6%?RCL60WV:3WZ"!
MQ9#?6MI8#/EM)/E-[5@PY&=NOXTDO[74^:9V+QCR,[>?(;^ED=^@D\&0WUKZ
M&0SY;2?Y#;H:#/FMI;?!D-]&DM]2'0X_"")A_\>WAZVE0N-[F)\")ST,E93T
MB07MT.YUW*;M\:D(I+W_]F!L/5-=MX;>#;T;>M_\^WT@.16V[\<7UW>[27>S
MQ>![VV\+^!%]ZFM:YM&O(L.8#M%^V;Y#U->T[8<H"\  G6/ZM.\\AK;#D+=O
M08& &]]A+2#)F'UVGYASX\,FMEU0!L^CB,71QSZ_3ST[RM2%R=V+K0-#KMIE
M&/2"CW/]9?$<$!@&OQ,@F+1,U-%Q];12KVXB$H:*AQ#COVW1ZDRE*#KOJV[/
M"_J,T=)O>Z@Y;2[I*V/PLQTZPWIB[EJW[K!?LZX^P)@LN@2%^8F%,0I(V=IX
MFP^!,31/,M]D.V#NBBG@=+7S<'IM!PR<IH#3]<[#Z;4=,'#2)9O!GJ5&LEF=
M9%,K6K+)]2,9R6;-)9OU<E.\VA[E+@Q@W+A_YP& SWT'ZT_V<$-NXPX+D1*W
MP&R:N\A1WK:)=\1<3^,4[^LD]-TX"1ELX;7[@C_M&I+RMV#K%/(<&<6 8/U
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
M:L<K:E"W8YA9R]R:8<R0V\'UW6[2%5+T5K(<E%_O;;_--$^$ONJ%FN@,1@O
MJ/VRBQC55VTPNC88'1;4#!_=88RNI7R8@U'#1PU&5X_1'%-8QG"YB=@KU%"[
M=28P<]S&]/6JZ<N Q%P7:3LG XV51TPOO1:D.6ZC@.<D_!MHK(X3%)[^?XB1
M4K6J^JGV2M-7&0#RE3V?-YLA<]R8.3?^$XO2JI@J2(0W0[P(X.,P=AL>&]47
M,2V/G#0B]F>"Y_+$M@)GA369G51%'U?6=-P)+E1]'],VDP>V3 23Q4XI"[5A
MV\)(+*[L>A!$.M7U(,BY.&VB>,YQ93B'X1RO<X[78&(XQ[IP#B%8&GYA^(7A
M%^O"+S1M8X#R%Y^ OT#*'TO+ZE/0[;J!ORW]YPV5%TA2!5@0AM"W=71=I"Y@
M;FM#QT:4U@9.?)=3W;>'RT'\=YD=)2'[X$;!8:UZ\AX>D4/)CS+CXUBC!Z=Z
MZ%'>^&+Q],R,+X"IW8U^":%Q>$/QFU^3+@MM0.(0UB9?^^#T1HRIO?&2^4'7
M]5]YYZO[,?C2$</*C_7EO[Z-=_"*\:?4@Q]G/*/HSU:<-W@2A^_Q\XF&_O6=
M^_(>]B9(PB:+X"_TAPZS':397]_!FC^42J5?>U84]SU@SUT[;+O^>ZNR]^&_
M_Z-Z7/GEUW>]#_H#+:",]U:UTHNM1V JD04,R[H/NK9?YG\H6RCGMWZQU%"_
M6$A+^[;GMN'7)L,4N[T/OS8^?/MZ\WAU:3T\GC]>/?SZKO&AR)<]7%U\N[]Y
MO+EZL,Z_7EI7_WOQV_G73U?6Q>V7+S</#S>W7XN>P7<[ZKA^.P[@NY<'%P=6
MK7)T>%;H6__[/TY!+OAE\G]R9G*XB/5?W]Y_L7Z->K9/(']Q7GZ<5<Y^,(>Y
M^_N703/IBGOH1Q-]+Y5JI?KC!_Y4A?_^^*OVOT\___H6_=7[XL!P &,_\(F'
MN$U+\.M[UAITLL9!ZL?9XT*3W8PK)&[L6;Z-,@E,X+W^_KT/U<K^/XA4TG?
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
M";IL<&#LI>^M^F%>2,SGT6>Z2!K.-T'6!VVDDX1BO/K=\X(7,ZE94DUH?'@
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
MR?,=]6=Y5AAD@SIOS(:^T6">RYZ&_\X JMU17^B%#%U,Z=^#4'Z$>'/]A$D
MB-80/M9&<9]8B9\(UH&$78GPXX \D532)R2&J>\7'J@H6%8F,&$(D.=V75Y"
MKJP#%I81/&/A#>$2"Y+0:HAD/JOGV6B\H0HI#=?#NB=Q8(6V"U-Y#D(ZR*9H
M-84OY9MKB_I3$597$85=L$!P+T;[/>('7](+ R>![1@'#5C%$Z8[6:$;_>2$
M"B3-J8Y@+*J  'EBM2NWBT4#T2S1XHEMW)77)-;0M+&0)OP]H;*'//@-)NBX
MK19L)1Y9Z%*O@U88=&55K9<>-EP510J[/4^BDTYC@))+6BTWZY$_(>:A3J,!
M)X%3Q=J>="+4AJ!,.R*V&"<E 4$T9K4#7N4&E^X//=MF/E5>!C)!WXD+[P>2
MBCK9<?CIX#^!C/83)TL5OF*7C/+,?W+#P"?5DH^+&\+Q1.]%9RBV+U?G"NP6
MQFF*N!;D6JS9X3@LEWAI'=OUY'2I,!XOW"*@W)(\V6]GAFD&D6#-@P.T@\#A
MGT3"YE2V&"PTZ/)238XH6@^#B"64IEI BSGX)4$E^*)W</@>-DV%=Z,;BK;'
MLY_EU2$;6@#!P/4!.\YWC=?C%"7/ 'PE@7QMA_3WBG,A L#S!$*&]SK 8[R@
M1Z\D<E0;J$' CF,LRB*F0W?2GQ@/2,P4AHT"WV?>@77N(2]H=TK/S!+\BY-(
MAG!%44.MV&$^@?(B<]C\"[D0<!O D^TCNMN)C85\&'P]B1->BPYIKHP3H@ *
M@',)&Q$T.S@103=H&V9.V7*I=IGG_F1>G\\Q"KJ*>=A1E'1[?+IP'5#M6B;Z
MC[B^J()W8-WBHUF*QRU*I8!>P OIEG"0)PRGTX@?!OV#[X-&_!-LB3@?&,[%
M-?(9-IAB,0?6%Y" $4FT7TY W("6Q$HPSQZLRA6'*[L$ ?],X(@Y+5*I7Q:K
M0J\CN9$UP(TL45X,MY77>O6!^24<0$G/X5COCV%J@.A85)BCIT6O%E&KM8SM
M/8''(\L2"U:U!H%C KEL<*&@I8Z_UAKN["IN_1?KEI/L>YRDE#B-WKN.T]](
MO5<5=1.5+&29DVP%D<VJWY-V$&G(RAR6++:QH&)(U1H\6Q$P;'S 2S,-O/G-
MC4""[1=K-M B*JV'?@3+!(4VBH(FE6XL8W6V ^P41LK2S<.Y5"M+6'/1U4NW
MP?5\[06AZ]@8/?T%[J%ZM0SZZMDAEP;@(Y@)W/Q*QTG%810>(RPP[?!Z@SY*
M#'23"CF3;F,LO!YK%=FQ+SOOBJ2F@=>C+8"1R@.Z)(=_\V!(>!]7[EUM!U+Y
M,%WS8ZJM#[X_"EHQW-CLH'3C6VC%L&J5*JCGL$\630'-&JP=@%C*ETG6D,LD
MB*Q'^29W:)<=^!PG K\>GM9^4:]7;0L36*S(_A/%?C%&W<(.""PL-5C\C)T0
M2=)_#F#?V[;O_B5F\,;VHL"BKKQ<PQ$OQ9C+$-5<E)Q0J@[%>*D=(5.HC\LQ
M^ Z2QC';*3W\KR!A86W($I;H! 3 _PXL2IP]APV*:T&"<'( EB )1JQ-8D^9
MZPR V;]PB4( =%@$&"X/G:K#>E[0EW7Y083LA2[#1(V2=JQV#X3)IM23$1])
MZ.__9'TX,( GHS.+."&@\ 9"5IR&4U"E42D#.I0E "_QK"J6TJP>E2TR6(',
M-;C<!FO:(&+:\$" &@IL/[XG:42NXZ+P"S,&U(">H 0]OOW9-W)H<<V%:O9K
MR,<2EBA0#L'+^A0&24^ #,31TH7L1<;K3,.V_AUN>5 DGEP/-0EQDF7J6!!A
MF &^*6?FPT=+"F\7SR+"[0Z#%[+*P'=/L*MZ $O!9TK4)%H[&EDEF?>GYZ<<
MJ6.FG\2@2I5FO,V"!TP-CUT;#,251*,Y&ZBGF5!>AR3:#!1(3[5#-(*1=I*.
MVF2*,,]O4F+0Q?H.$5*$/1O;%@KD+9"5 LY;<!C&]: >KV31SWQ9Y1%VF.V
MYHA=%&$V,#U4>Q%DH'^='!]7K M881(B".] ?WZV8><?$A<.'D2+\N@3M.JU
MVM$Q[5?7)@.!QWH=K.TJ:K?"$;PYJQR^M6IGQ_NUT\K)!BL*>'\^X77!GHN]
M,HMUP&4,[HI24PL%9[Q(D(V0BC$CV><7[SY'M;=L_<:\)X8^4W@]EN\6<\@6
MJOO%$F[=_S@Z/+V\/*2E(G7KA>L:(TK=S?*RO0](K:H<7N-#N20I7>/F48:F
MA7Q"%*WHV15I B)/BV$A:[Y5W> )_WEBP% \AA:..#,>'\*-=*O_[RXZ#4J/
MZ5/"6A7Q #IX11D&!OJ4YBRT.'%SWA>TI_AR#.*1]*6#P4\XIT/6+#K_6, A
ML7N1J/QO)Z!<P1J:)5?E0'"#G,PN1EF@AVE,4:3ZR^#?U!5*>Z1L8MP 2>\&
MEA0(&S9?&>P+71D=*DY/)P!3P!LQUBZ1$G6O45V3(Q078-P^L\G&JKAJ6;O%
MI;VO8X<.Y[ACF"Q^QJ?0!7X<2^& QN)>HQ!NZ+A32B+-(HET(&$1)3W9-BZT
M7< ASAR(J1D),RK:/0-'DT"9,%/CV';7PQ/23;1NEQNW(EX0A9OXG*3)N(GT
MH'1+)D6[*XW,D1(B2'85K:B[%&%+ACZ8741.*KDE96WC^"1'"J.P+\_82,".
MAK>WE!%IT,R;M\,H^5']==&!UT;W$DX*"%=]Y4;[RH'U77RM8S^EB$_GP->$
MDR*#,VY[^F% [KE62Y1UEV(]YE=N\#5#M (4V.2-?D&J$43#)51Y.$K\@/,L
M(4IC5%1B27-"R$'GF64[#GHZ!&CC,&G^)).\_<35!B[O$,4*5B;8A&  3%"P
M$"4LZAT+)QF@=X5&PK.YA]&;=EA*LZJL.W39>-:;^YN[MV7)BB*,I@'VBNE9
M'2Y8BZYG-,$PL!U8.VBF7:EA1=0U33?0VX@>EZB+#?A6T/%DM1+@F:40*#WF
MH(&)62FKXY95^+M/^^11$[8^&;P%2[?Y&(A(YG!Y"A9AP9:#JH!AL:13,,XC
MHJ#7(3Y +"7H4>@0< ?80^+G)1H%EN%'Y+@*L,2^;S'@V<CL(LE0<)*X". 5
M:+"U.K!!^U05D(Z:>#C;1Q51N''C *3NB/:4^\\<[/89 CMK,^FFHB^1,1\I
MR%=GZG .CA9WYK0S>JV5T)1RI=7S&U!5O39(@'&G2^L1_MV^SLED(3QL2()N
M62177'))+)7OJC8.;G]Z/V3=_'RR&K?6>))D$F7EG&_"SJ-7@*8E@6E]8:C7
MX-E85X*+1N42]7#B=Z1B/^T$9%M<JKBSU:TH!?5.TD5S%/_4"X)>*K=_YU=]
MA&XK)VTW)>8@CSONA.BLX81S<U<&Q<U!YPXVC1,MX^!U$>/M<LB5)TB":X I
M8+F'&)ZQ?Y(+%#<$L9)ZW*DOE=0U%9CP*J3;5EWA<5 B0L0+0DV:R%%Q';?;
M98[+=2VXDM [1!<1G;J\S_ O3+@KF]JMQAV=T:#/@I0;#T,[^D(F8TZ)CI'?
MN_SHI3QP03TCJFINPH^8^O(M.AB:&D,AKTM>(?+\""Z3<KM1_,8+9)O%2#1K
M+(UF/, BA(XH_8C<<,,O*7@9;L'P4N42\=A)L+F ;Z$N_(6]N,U F92^^2[/
MI!&+<DKZ(KF_ER-)/U42OJX25 3+UGGDVFJ\+Z[C %*N4+@BVNKBMTF\VN#+
M<AA(($ND3(2ZQ7%9%W[[+,6UTK!1$KC:YYN'M^+:%/(QS P[V'0"#"_0C(F"
M!!%/1*ITI4;<(B?<\2YZD=%RF"LCMNPFWEL IH/2X\ A*J,+Z?TN*#_ .P3C
M%]=(F7-LP<ZE<I+'L_'.2650G9\H^X"::$FS1T7R?B:1@7LHL54];K/<)!I.
M<7MB_?P6T'0+MV6A'L.HG^GK]$^H+NGTCS8%OJ%?8<<[UCGU3;)][A/WQ+[K
M)#*:"7#"YR/)K\)>:JQ.'1 _\"#DMINQ0H@MK;8#Q\V=77"C!_R(>H$[RF>K
MJ91\?AGI3L@D):EF"F6 SL,-F\!HXK+ +0^'4?>9 $Z#4O=B$<(A0C.TFUIC
MUBWJ*2M<N[K !(?4LT.RB-N^3@L"@$OB(6.]D(<K<CAJ=H<S-'+,Y<'3%RB7
M]HOUV.\Q-'^ K-O\Q?IJ=QE?_M< UUS-^/3DM_ 3X\Y<*W>FPC2HO:3Q:E?5
M<Z"[%#06H(L:)8IS4@;F?(Y_D#79Y79._K7Q 79^C/UMT&(7R^<F&AXNCD!]
M(>GAOIX<_E*"/\$O^%:7!+8K/'M8.ERS^M6L91<_R#7W/#L6$BK%__E$QL3Q
MZ4+D)CJ*:2&&WT5''WH$(MBZ)K?GP]V%S;!0.B;>[F!G,K?!D]<3U-KH&H ;
M&O;Q@BY*H&Y'BN(,=:U(NSHO,'RO%V?J[8&R<''[]?;NX2T%/"GE5]A\@ ;<
M.*$G49O!I:'!B$\'U_'D1ACFQ=UJQ)<5T\6[B2P_,-U(!(J*V84V#Y&#1P"5
M"8%",?$!3(RPQ8(@P\9@(?>8G_!K])7Z<44<-/EJLB>-X"75G/:WS4UPV0-]
M9E+)I@!.3AZ:O3;/DC2HE9:U6U(81TN?0=CUR5YQP1L&AL)>6K9NN27MDL6:
M,?22L1Z0>()ZQU<68U1LUC!"3:_IQK2]_1@80,;EL]EB=81F25A1WGYGC(+(
MRTH-UDZHK3D U;>2GI!E C*:8N\Y5[C98TWZT=1OJLJ3,!$]3'IEUL>F1V"B
M;43%>3H!!1\M8L.7T>05NR)6RYEMX*'VPL L[<XWCQ@IP>*2Q@??W#R>?WF;
MZ@I"[@.. 9(G&0]X+"3NLV[2X:$%KH^<,0BYW,?;L<L("&Z+#9EF>-3D4C()
MT>TC/M9E0#+ N 0+X>F0 ?,#EB65!O%&UX2)N<'(TE S9$%\2[P@I'J8CF1P
M)8$7Y5W)^!R$%*LTY!@$*&ZK$QMGBWA9#)54AA]IT22EI(%!#ND%;<=B)#CM
M#2;M&V&T0CN < ?CO@ D:P.0%('"?A!39@#<3\^HC0J,DE,( Y/)*T1M%A5+
M3[MZ8T4!X6O25&WWXOR!AYM0&U"AB6;5(G)NH2"+0(13HVB$$GZ38YGLCK;5
M2/JP *W_-#>\#2RM3B_[S^KQ4;E2J<#="G("KH#R/%&8Q=R@#3Y4W#@TY?"U
M)E&'<?T-5HFGUL-BWM)<.1 74-*B7-(H<@KVE@D&:#Q@C-K>O\2,>_DPBJJ#
M&CV%N*.D1._C,'H63AW\%@_#!LJ5X? \N&+@3BAE<E.X)("NBP:3F59\_#;9
MQD-A++5PG:Y/P.E+']G[K0GEG:#MW=C,YYP(X-IA[V5L\G;FN3%MNZE;-XUT
M6O]%[SLW.& .(XK51<]A*I.[@/*;H4M7NKPON-BEV#,%ZS7).8TW@Y3[A:\#
M.]B#W _W8@-M.NA6UGUCFF0X9$TN*TM]D!8Y\N ]9'$C.U 'D+M/9C3UK8,"
M,L#Y?PZ.7'\D&,4?7:RT T/O5PYJ\*B!Z$(A>OOL2ZMG&A^#6"5= 'D@&?%)
M.$WU3 Y?; 5%#:M1M!5>H,&0+%U=4_X=A+H!U'8"Z@'U)W2#I38%0A P,<&*
MRCJ#23U5FN<SC>WA;@@5P8HR:B92 Q13 ""+I $<I"7,0/K)E!2\=C@;*RBA
MT79\!-BKD76OV#^&8]&TN-,QT7C3M/@>*ULL(8;Q5_=#KJ+UZSOW@_5FMOB[
MO0_AV.UUQ:;V1AD0,V^Y@%DW0G>2.#_<^3UA513COMV*X,QKGJF:R4 5CAD>
M."+DE'<4QH*^>TJ/I/,4*G4WC7>0(1B]T THQL1C-H]SX=[JOATZF*R=D!D"
MQN-5 ,A]*G(UA-"O_&[WR@'_YOS\_JU%R8(BO]%C)9P :&DJ1S:*@0/!6U(+
MD.: $OGB[I,(NB/_]\'#P;L!7Y^,&<J$@7&QK-%/E9,RJ>\L0F[F@B[D4.R8
MYHW$Q/HNHPP..9O,D.J"#@/.KR.L9XG:D9[:H-5%^-[I6U] TI3B:C-PF$C!
MALW)3"4;L%ZM5C(3(_^@%H*+D2@,[X)H\$AUN^[F*J[?:*72I-1#@X+;I!A/
MS?48,AG8!?O'S=H8$6MC+VW,/FT$W& /AR\ZIL"&R7QY%<7*W2B^AWD 3R3:
M2Y^NB%6G</K!HY >;PJOD4$HH"*'4:F'B@52'UG.9,[U6$/6R*@;&?-)UB5M
M!EAA ?3OF&E!:OR%2&PJ4(U'E^G!-S(<1T7=.!3;R0W4/H]0Z_*,%XS:AYE@
ML-,Z>'"/=M6#6S,>W WSX&)HM@A0 8F\02R: C;AKJ4 61FP:4F77JEI]ZA:
M@A[VGD9AGM_(X'R,-N0A)+HX3_P+>6'<[_&D &06,8^J08,V^0-YK$ZDDGM4
MLMYSD%[UT4'IN[H0I21!ZN@3\_3P1)Q7AB<2$\. =N0Y%$>2])!1G52L;J\C
M8OW(/JQ=5;8/&^RYI(C$7#Z!ZQK&EA$^PJ_J^@V40 2/PXF6150ZYBZIH%?Z
ME+ FA0L27S;W$KR0#A>4&$+&<H(<Y>TCXAA+*I[,EU[A]'D*6(/#6U0J39YH
M?UY=I&B_I\4'X#A:@H(* B,48 F/=+%DY?-D])@$A9[=0 %8)% )VTT.6D[7
MO'CBR+A'::<G,X(H!(1+=90S&Q@/#Y+'/!L]]'@PPU6ZY86PGSK;1-1AEG5A
MX#>WN?-8=Q3;6B'&(I#H&W:IT@Z1- [^LA_:TN&+$EEI!,<;)8-A"(;T2,:#
M@8,R2-YS91J \(52.1E,*3H\'9.P(L,%2M*/RLN5I:XLBA814=JTOWZ'(L/'
ML#<>:L%=Z.E?E.,LQ:V,+N>,6Q/%B+0#HG9/ZDF<^[FA,E"W/,;XJ0E,;[(>
M &3#^QA&6Z&]?]=K,#'-W=4?X^PN"1U!N<$P)CAIH.9,F@(O#Z31>H/S>*F^
M^(SK]RYF  _[\OVVW999'Q+0:1@!_RM</B4*,7X"D6'P%DH#8OGCU;K*C!N*
MWQ4<%]\S&*^+0HCDPM9'QFNWB=I/S YAJAY#IPVV'2C)(D[D4Z2(.?+*RZ0'
M+)W43:@P@A:#(#G94&*T"C&2A_,L*TNB;K1/^6-=E>?YTA,:)?HGN8=*UE/C
M1A20=$@\8P?6=1(2QPM"7BA+O4#,>B!/*>D!>W'X3"/@(?P@!U/*4^Z;2924
M9:JH]%9&]Z3E\>!NKE!WTT[0F>IDR*RRZ#JPSF-AENGR[:!UA*P9M'V*QI)C
MI_=JR7-;\*Y^$^:/*:,84L##[P(/%=$#T'JEFION7"2BE+N8^2C8*^6Z8":K
M2%*D[)<>!DW30:L28<."$8TE?=B"0Z)]9B!\DNKQ\3T(2(3E*7&$([Y)&\P\
MT]H@@S$<6*X-JRK2EI)#O9>$48)U(G0O:QJ#)\UAZ)4XL+Z)&AQN1.CO!@[S
MLB_@3OK$]>#*)[-86CF!9!!D,L*ZQS^C@HRBS)A=$CY<?"O/AN,<$&6$%#DR
M-T=D,*69QD(AP'<HSS"G:#U23$:C$0D.'3M:3K/)0$,^X+(P H72$2Q3J3IN
M*U9I!M*N$WA4'&1X^E0I+7A.M19X(.QS&8=8C%P+OHTO ^;:L7MLI.]PL$:G
M3PH9B61/C.?X\ J0F.N<-)5(QU\A%2KE=93!=R#!P20I)25?PO2"4)BKM,.0
MR7!^>Q^3##"K@&S.;DPUXX@-8B0KKQA(52SYJS:7\,Y]/>:,PEY"QDF,;A$>
M\2HBDN3=C&5)>((E:?W#V4D$@%%ED]1M/;.'QA[KH?&$VN5&P^-KNB#)4,HC
M]E8Y0>F?@]+=".A+-0%N ?B=!'&>?).?'J6$C7*&ZX]\)+6-"*LHY?>4["ZV
MLN$IZ[C- 5S 3) SNA=$Y[EL,H\L2(Q@OF28\R(+_ERR%@@$3&7493_]#5;J
MB7++"9?!'F&6_3(6Y$S%,"*#6D6Y/#"'71PO4"R(0KR.['-6@,1&PGX+3609
M69*GH9$@F+G*97:!E@2**RV=52JP-3Z3^<]H(Y?1DSZ7O>KP2)J91FD_ZCRU
MNEIZ^);@-#@ 4?X&$[1FB1'$3"4\N(%MA##+";]<PB/#"JZ:!M[V@H8PTFGB
MFLQCQM)=P*0I0^&U=,T-WD\LSV?'JG3J(PJ]N&?;H>5ELA@##\UTFB^IIRT\
M5@LO#<GB6JH/42YP!K09"-OK*"TF1"<HR1,A\\C>%0R6-B[+8K+= (7#9_&=
MLBST4;(C%<$K2NC&H=M,9R%KOJ11=J*PMTI0TA: SE=ICR6)'K[=XLS']F12
M*(\]I]#K""MO(>,L:2W2N<[C>4H7I I?L@>9G*R*PQMZQ<!(P-1"AW(671G;
M3DFK9&Q1^C!2)VP1ZB48WVYS)[2RRZ-'&\^"Q*H6/L)CX3D'S3\A*B.NO[_H
MB X)=_=#"OFQGK;C7?6TU8VG;<F>MG>+"(\"F#_(+(US5+BH-ZDL;Q_XXSG]
M0J90N$?1UQHHN-@I3)>7VP'P+S2+I&EQ)1?4^R>;N_U&52:DJX>'/J=2G A9
M245*&;0BZY !+D75>DI>IT8/+Q@PP+(=)%I!$,-$?>Z):O/<R4%+5X=Y/8M<
MHER2%2\9$8$C[%F;*^S<QJIOAZ_* M %P$L22$F09W9220]1*\AZ0_Z3MR+,
M?;A@D=(1,A'LS/IN-^#@K3<?X2QMD<SXMFS]X_.E]=ENP-2_WUR6K9NK+_S.
MO*#Z#V1Z/K >E$&MI!O4>"&NF%12:?/KZ[5Y\ 94G57VJ3:&1%!6D,E8)54%
M.*QGT?:IKIT?ZPTJ2K;S!'\2E[*TU-)T5&PUKP8'1**58DT-OV7^="JR@$KL
MR7)/(C> Q\R2 ?[FCB8D6A8PLL3Z$6\H='Z3%OWAP@M?Z6!E,LQ8YGFWL@>%
MM(A32<R?J0[65%XU(96!L #L&<\4K2FRF,9"_-BOA. N)SABE&4CM^Y*2=2.
MPY8L0FK.:+J:9Y.G;\,@J$Y)(]Z 77\8:!I_;-N] [X!V!T1+8%!%&M*;[DD
M;0!I7C@Z47D&8UG0M:J-J#BTJ +C"BLHJ(2<EC+5P53NOE;E.1/FT:*&)+(4
MBQ##RYP*.3'@;&$4YE-O"6Q>0<.0']4B(D*#;UJXQDX3\%3<MZC]G1:7I*I9
M,6MC;BA6!,Z6\9,]D](S_80,31BFM-9&YY\>Y-X^II6D*7#TTX-^"/PBTVK2
M<&LHA;*F)71P$[&-3%HJAP].UDE^]J!V-YFX1+#2)K:H@!W"I$%F(X"&+$N\
MR!6P:MW.@3976K9G2P5!^7^T:=/EBZSG8-/;4HAJ\)_"X!GXW8-H2[,5>CF\
MAE^%F]\03YH7)BQ677JU6#6OX?I*05M>76*XGJU>=&]4;5LRT%+E[93:LO4H
MR4\3Y56CM19>C;8THAKMYB(":585_E@BN$W:UYRIKJ+.+PJ(>A47TL^0O$@)
M$*T6,-A!N>4B>#1JV2E)J.M>7.A4G[2 +"Z#@(4BX(H+KZAYC<@*P(\F%)>)
MT<GP#JIJ)_RIFJ^-7E,><"@..KQXO$4AJ<L&.XO-0J:8"2J:?'%^=_6_UIO
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
MPR7QY$981D;E"$JL\&YF+E9>2EA:U"[E+-P6QYL@2ET!XQ285D%A1( 3J&4
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
MQEL\#$60]6CO4UF+8BOSQ DN;:DPA!*?8+0%0M>M'@B#9FW>M8;S011O9,Q
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
MH:;'8K]]$*==,O&N2=)(_H>T#:(LE6?9V083@B) N3,E7IY2^[KN%\(@GG*
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
M>T12VNR,824D  DJ<'* (MC^:$S>^R=4&D/<%+RT%3%)TLHF4G,1I00B(PJ
MU"4V;!?(1@Y)"PWD0S02Y^>"Z **$EO^LJ/77&V!A]%LI]@ L'6NTTE,@1#=
MV]FT__9;<KX:I<DP^&3HX=4']OR8(Y9(UNEP:( NNU*T@_3-=\Z[S_2[Y1E<
M+^#0,=*2CN#[[G&-G*+Y<G15C\98U4+])>S9Q"V?.76@H5+J_C%T1#MO,O))
MG1?Z%LW02MK&%$9)<_Z0B!PI* B^'K(-*<$4-L_KN9%G3//C[?!C\^[V9UR$
MWD[PD5.H7(.VR2+]0Q[\?0J'KW= G$;=T-WP@!(W=$S12K&0KXPZOY@T//6R
MHV//=6H4S$2$HA./#BIJF *?W!.@/)Y\4"0)<9K43"'.#Z;\(Q6*H07Q&YPQ
M*JIAVJ4NRU4.4KZ/KH2.:;<7*J)C<@K2^)41\I"PR:L;X+D-,5R>9BT/J0[(
M=IOEK)EP0]L^*J $DRSFBUXZK2,5*\?Z,D'3=@Q[-3*1;\0^! BV#P91-IAF
M6JC@]RGWAET4]%KEP>[,6CFO2RN/@S#7QE=2P;,Y+X&*>6?_6T2APBR)'MG0
M6 F+'C]0[SB'=JTDA3DC[19B5C4$F'3<&-FU<%+?'$CA0]$X2=YSU8AM^0R%
M% 4^3\Y^"J0V[N3L=]CD'?A6]V"[TPM^I380P=:G8I(.@J.]WLM@2RMF^*A\
M3'3R2PM\QD;S#9.DN[DWT]V5O+@DU1%)I&W.?5,+[M@&6]"G>#=,DW)#?R4K
MP"(C9M,4:=G(IL"3#0M3!=\<'G7#@]TC6BGXH1?N'W?9:=+MSC9X:>Y+(WI1
MJD5(C8,GB]38?49J-)$:FWSB/1OP8,8&W-T!-86-&#Z:1LR;;@J^;26LD[J"
M-+_@7 :E[#3N4/J,L47$X& *5;*#56N,F6-*B;)F,E"L1RDK#\) B6:_D!W!
M#^[K42&ZT$=LT'=)S%8"7EN^L45+)V/IF-?6[^*3V]AHP.E ["L=.MVX0_"9
M,)9WQ;Q;6'*D!RI69$']4:BL%BV64&-4R-4,W88=$7:FP88@23;<+BUTT>UG
M0H\K8N2R9XNX*(D8 1?Y,Y@-61*?FU '$\ASUI-3G(TJ0UWPJYDVIOTJC=.H
M3+DR$MWTA!**TG\#/\X!#NU1\W/<HB8E]:YSGMMX9=/5U+UJG&_H-C5V#J63
MC$UUO=<@0CE82T,_S#WCWFCNP=R<B#@9$'1HJ8.SR::")]$.9R3:WD[P'CD
MSJ)A H;_:]/;8=/EVF\@/TZX:RM6YSV$7@F'3]9*VGNVDAXJGK6=.0K$P\>3
MTT_!NW?KE +RRY3Z=\*'=O;3_+Y%XM&,2-S?$:)A\CF%4_H-<1J%AG'ZS-8A
MJ_>2Z4!?DPK,2H264MDSJ5K^KHX5;U#TD/]GIP?;LLS^;?-'Z?3("CJQ\@V9
M\VJYJBNE8UC\9Q.^LADK78L^G\9Z<U<-#L*)):22I=GL@^ &Z##NW,*W1?U
MSC$Q5R="#84AV?U6OAA-3"7VLN')GOTP$?E:<IE9;IEO.CN=3A=QB-RV!$'$
M_&4&2S@\8,IYIGNL%SWD@3$PT>G"7\*G3T NQTDR)KW_RJ&1:K H;4QQQ(=V
M-"Y&@YVTY+X.PG.JVSDRSK&<R^6&#I)9OP6+1DR ;6U/Z%!Q2YY+@Q-W.."6
M>;C.!C )A<&AKSY4NZ:3]],3.F[=_=6<MH5K=C][O9)&TM0,BB'8]K3/F9Q0
MJV%NPJ6Y0Y ?*!**OS&IAX#<;2AD(K46U'!L/M&@9M7!II"HBK[ITM8PXXPN
MK%&6C,MRWWQS"!+?$?,!N,Z8FC4U(9I@B- %W,_"\/M(9(T#6^;92RZ'T*%I
MK&7R14@0JU#G6F'9"44QBK"JBH#JY^F%[?>J4Z!@@(\GA(QTV,;L:OH+UC8T
MU91+6W[9#54Q-+;&EN*$TLY:-Y>L*%*(\";,WIV7!1'&S7F>$PO#WZJY;WEI
MNKGZA3YSSL4L:1,O,?<;VMLY/OXVV,+ H1P\%[5/Y$[BP\ GCO'#+W5 <<$K
M:L2JNO5$<_:,IF_W"CNUF-*.I;;G0IO>U$Y%WRD\Z%$%9EG!+=XT!JW0$<!&
M%8E/^50FN@J"C#E\1>CFVNVZ*\O52FUD=*SX>D5I&\ATZ+>=:\[ELOI2K5I?
MWM;W6XN6?74/6O:6_L1*-,F'/'B;],LI5FHNQN2@'E"1$TLPH8;@Q/0@W')
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
MAJG4[(GHGULHHZPAZ;2V"*83D!)H6NM1L-#P9DC%H*1K:K1/G(8/9 Q3T>D
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
M#1:MM'%O 6;9<;A]2K&PD-"_,F#AW6#2"BS+C\FQT)/C4&8,KZ66Z X;'!-
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
M2S\ZM<Q5W(CKL_>0-F:>1!POO$VZ\&,%F[,:-O&O7B7?]/_#^7AK:TT^ H*
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
M<^QZ=/91WG<..$@-DK_G70>C^\?8['"2Z09/F@K#6($S"V_=*_U"]2:O0=C
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
M >T8A +8/SR=<^'$TKN^.G\.V\7MN!^'M'BWL7! 9J5KL6(O.4N+TS8GU!U
M>C0*FD<\<G2W\315'PD,?V!.J;G42 3F(U"?H-GVV6C?OGG0"+W5H/[(@);<
M0(&.4AKO [*BCX:K_3CP-A#!)%,9)^1#TLXH[<G')#CR1#PSZ+-W1OE$42A/
MF8S)1U'NIEK4#.[&"<L']KU*/RIJTS3>80ZG3Z1S+(_3I,\('>,X"D"E4HU^
M[Y!NN81US+B6_'"JPEX#,40PRA? H2'=D$N&R_(0VG,"MT'OE -0FCR!M9Z#
MX%D1H#:\26V3]\>'#DH_ER9S<UE=PZSK-U=C#"725*GX)K-.!+JA):,VQU5(
M#D$A5$QO5)0-PC:)GA.R5#C+ 'THBQ]7%I^EZLIG!,6B",QU/9S.XN.W IGR
MIPA/AM_-",4;^_G "XSXB:_3C]A^RYUG+)+R-*?^+65,D;.#4XJ?#Z3L!^;:
MDFI,L2-,2[M%+XPJM2F+*@1L[NLDGXH!YZU#><&GEP5>.91@Z5G5&[.\O^@H
M(_ICJV*+9D>SP,R'* 0.?1T$+K^.7'7C]NPRX.OPW*C!556BP$=L:]>L=XZ&
MKXY:E&'X52<$61?'?YMMNY6W75K"L;AI_]M3; =I[+(HP-EZM@%.[Q#@7";
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
MDIHA[[FG)K!^G.=E8X#I$O,(7CFRKR';>VB)T_#58:X-*!ZX&A%1>:6N8V+
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
MT4G\N>J&ATCT(1)]>*L'<!W =0#703?</:0=_(:/3^+/5S<\6"4'O^'AK1[
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
M_ZI,M,T#[[T8B239QD[;)0K4*T"!.["E59DY&&=?T.!Y:@3QM-#T+<[\<#>
MMG3+N)6&E$D;JME\^>+MWT04B>S*/KLB3P8K;*Y6V"JZFR@+[.7"3BLK?:KU
ML@@E:LWRXFV+!T%LYPP/.FES?XYZ..7AE+MX2C5(?>GE'\0;;ZZ"3.2<\>V'
MQ(^^VR<U^U,<"?BH9(1>%2-<6JK-:SI51LFR"ZZXB=MUZNW6-G;:RG4.FZP3
M^^O5+-Y^%D/[=_\ZB<=8(YC*Y]/8T//Q9GG%AJ#8V-I.ATUV;Y,*F;0Q"?17
M'^V)T\0/+NW/P8]8Z>+-?19!=P!PWZYSV&0CSV=-/2]E9\[E_[,/D<HLGLPU
MX%$A!EN=06K^[R(MNM=[.2<677(%R,Q)K ;AUG%Y5+]0Q.SV:N;>WTJ5370,
MS)CE?I&PAIEAG"=0+$CLH(+@5&?(#K$P5I8,13Y61IGK5/>DJ]$Q_B*,7@MF
MFL4=FP=51TTF,17U_P8732)*],//?HXY/S"Z-!OV_86.2X>@3)#RYB?389 9
MNZJT8R-=W&LN*W0*-,-&S!T/5M/ C!VT@ H 3'^=AK<*N8T"&6!-F%JC+P:
M)GUG.LB<>\=1\<K<)D$MI%),S)X+7!V->9+E-!&5&W(/H"V$$:FURP*TK!@O
MAN?)]!*^:+L-Y^Z'-?=1Q<=E8BU#F6H, Z182CB%3USY6$TNN((_Q1+#9=:X
MXM2F10\)/[;26TGOAS%6E);%RJRRM0R=<XFF6\#*!8$1R4]^&Q-H'072>[&Z
M:J@R_.\!3GI!?,FMO1^.^9MRG_^Q@0RJKV*$MTIEQ>)E(BX1--R@@D3%""!O
M7_OAE-+NZ%;,B"FV3M>>JJSM4N>4#R<7[^R3BU/[6SP)!G;'[1:0_S'228>J
M)^+B?>6>A;H?.@O5KN O!V&<4ON*1!>%S/9]*&;K1:6-:W/C%NO-B*M6XC98
M9/FT5MKY<M2E<^C=9YM#WSWDT&\EAYX&,@3#7U_X?];=+K;9X^D+_;<?,S&V
M7:\&2PVF";:I^G(3B22]"B94QR1K>=Y1IQSNR$!_YZ(9/X)S<X-Z^/&K"*G>
MC/+PKN(0R!<^ E(T0:5DG_/H3\AZXAI&K\NJM4.FDC_-KF),-A[: W\29/#-
M_W!A&&I$+>[(7.HC71 _/]5K];J+58A2UDT :O191WW=^"J>%_YU K >"C$F
M>CZ-(U(F\-_GB<R982381[+45?_>.E&UK0XJ9)6KOUMM2?M=ON2<%4^K5[3F
MK7B:K]BL7O']BF=\GZ_8* '5DDN>K;CD6;XD4O^<JW]8$3\?U*I4\RD5F!3M
M/]1-2/-)!#<3-W?+%SYQYOSAW;P_G (I.#VW9X#$ )R#YE3;:U5^]8SO7KWN
M!W@A69K!!X"U8GL\K-''5#_JR@)?ZSB->MMIMQL+:B.L($VG8J:MVDPO=DPB
MS'#(10"ZK&0^LM/ =9R194SM",?$D+#^F!1\;:ND.=,"G7_3#.51ZB)$1B4-
MV94CW4$EAD8-V*.ILIH6-+[O:W$ =EU\(\<9' 6O&,; PE*T":]BM,2^1_ )
M_/N4ZF'P!RJ>05,!:V4*BV$?.VR_/J!Y$K)R1Q[!H"9Y. ?V5)O*#^GJ#?I;
MZ8]"-U",N1:?Y=A1</U*67*%-:CNI^I+:%]B/&)2L__.A>E43'Z#_?9D-T<Q
M=/3>"%@&2FJ' 8T Z M #ANYZ"X &N7>[VA'80L*DJJ3&!XZF5*6?#V:7%=!
M#M<[@<J3T$E+E[3G7!)-VM>Q_7X:I_8W,;B*XC"^!)9F_887=^R/T:#F8!>>
M3KM=!TTARD"!@%.<^\GW&Q_>Z,4T@(>'4PGLOX+R"K>_#L(0>-B'$$3FT+<;
MGM=J;ZOZZ#YN:E2W3R99G&ZZ<.:N;+W9D5HC?QR$MS_?!2)#Q^^2#MQ_^YF<
MB8#SDYP@<OV.]3]6UV9'=.U^]N%GQ;\VGX%XH=[@5O)1\8%OJ<+EG<E!D!Z&
M3R@]]9R%BT^-&K9()+:)0_L>(%YSRLDZ6 HR:;IEZZ7)0NC.4I=:A9.L&!]]
M0-1UO3LMC9FYH<@.YA*O#R/O0A$,KI)8H!;\Z9PK"]U&LV6?<(MJY10?PP(#
M'U9J=BA=(KOB; D4T7'"W\-M_QDGWQW[\S]A?;?>FDESGC_+<1-IDO7J#,CU
M@<]U6O6FTVLLG$G\: F@6[A_K]9;. G<.._Z=GUI[KBSS.X<VU-%]@?ZNOT7
M8')4RD,OI56OVQ^"$?9 I6>F5&#/:]:KWY);G\F4W0BK7.?;:+9Z3J]9.7UZ
M0^QW?:?WT-M6>?+'IF.#6!\>>P()@)'7DS2-02!G^!&TUM83V (::+3L"[#&
MK^Q/_@5H, *[Z0J1*7IO=!#(Z]GK] I@=1G#!<(PB&(P2MOU=KU13I!=?X+?
M^@BBZ78=K]O8RP?3JG6\G7POR_']=5#@)W^:4%CJCYK]Z1;VCM9%V\UVA_PF
M";6=2[[;?X@T6]?BAJB1_T+GA=<JI\7N],OI>DZOT][+E].NM7=>TJS5!BP.
ML)V957.P!!]3;9V9I5[J+++K6F>S[C3KE3;)SC,"M]:M/OB39 0S0_"(T-K[
M0FC-GM-M[Z? ^9^[3KVSS*F8.<\4T]D7BNDTG9;7?>84LQ&R*.5^,UUT]X4N
MF@VGY>ZGQ-I?3B(3TV7"]L[32*/C=%H'&KF[NG-]YRY7Z.P\C32=;F,_G:W[
MRT9FC5>R:0T+%Q. * _&/FJKU)Y7.T]+C5;=Z;G[J=XV:^W.ILTH=;<*8VIN
M?<;Z$I4VGW1XOP+?A_DA_^>]B.(,/BP'4@.NW)?/K%_R$E7(#X\+][KS*I/?
M^5@>A?61.%6:,@L_QS6[@\F$%X,K,9P"Z-S&;Z]/[%$0<C)G*85 9RJ;OU>I
MRA85>V%"P<79*>[S0?03*F]VFW(\GCEWJ; T;:MSGLV'<$+%9)2_RCF/L]]S
M"K_#^1XTC4CG3_IRM&,B+C'K$I.2I]@H'JL=J$S/JS?RX>7Z:S01$IG^R8 &
M,;N]9MVHHIZ]'>;Z8SX^I1/CM'>J?LP38C +DW)J70P$.6[;*R5P%G*#CCQ7
M5O%^@-,Z]J=L6+.O1#BT>UX/C$W]93Q2^;/G_,E&J^&TFW6+/_F*!9:<SH;-
M\P>9;,)? 2T ][6?!/$TM0=A@+-P"GCA_RT@@VJRX9)8GYM@(5U5YWNKZJYT
MV#P=& BOZO*SH[$]IX-#%P$ "W:L@JYUQXY$ZUE\*:BS/A%VQ8FX E'2L_[[
M&>:@!R+5X\-FSNVZ3@\KCFGRC05G5(.P\/2^C7D7+V<(AXIQ:-"\+VM+<0H]
M5URFT\&5!D&IWEG8,R=C3"DP 4'U>E9%;46Y3 &!AS/F>794W9&SRGA^CT^S
M%?(:!YJ_UF@T2O40=Y*XA1ECJ>V!483?E#G-XM_3X-H/D3X74SU]N==>^-U7
MG E]%UBL.44G9U6 D4GT'4=.<UT %-=!L#0:S27!8O'+YYO);]X++$U92'0O
MN%@YN> D.EV&87M.:VDHY57W]24 U:7+-F; 9"UBD'335KU+W[P7F!I>:SDP
M68M?51%,[NK$Y*D2LSM>&!"$M<(+D]?TNN[]2:GE58/(NH.2Q ^>I;F@4*H,
M#^I60I5._@#VX=F."(A(2F^M=IPKOI\/KENR LNA^O509,)L(.')CAQTEV7/
MZ]@Q&#T!%2B9Z+*8I.MMI]GR=*F&K%^AZ^6PP8DC<_9;7)ZVPA.S)"]JM['V
MJC.'%V&]U@1^+R)9F&*2=+===SRW5;B,00MI-?5%6/!"1.0ZKDN;6RO28+Y$
MJW472S.%(8,N-08XSLHZR5QP8^,#%<]4U3MEE80.2FA!IKM+"76< JJ&15IW
M?!;(QE0!2,/HQ]?5M5L%IE!1MX68J])*"PR7=-_(: \!'P -Q^ETVO.VPK(]
M,LEXCNX2\+?U7J_EW!V% JOTF9J-K<!Y?*<B%WY&!)2:_7%DUDE&\5W03XN&
M1#Z<4ROU!=!96,/6<KH@])N=><*\](":O9K;>:EN/UO*5OYZK=K]L(_%B(6N
M#0L[(7C/MA-"[] )H=P)8<?[>^RY]ZFZ-9?WRBZZF"I*MQ9 8XZCJ55R-+TW
M'4V?:5"U_9>:S:GU<'E@C(EO?U"_(?'S+@G@4Y_T[\HNIR^#+$;AQW:89P^#
M5/4"(CVRO V[*UH=I]=9Y(RI. U]$40FR+_Z8D=.U;GYVUWTP[L+OKN-OFO+
MXE9C=:ZOL"K9//<8PE^+ ]4-M*D^B$UE\93Q1FM7E4G#!R?P.8K2<)VTG_+4
MPT6.!VK=AG^:OT"S3NG:R\GEM2"F>=]7-^>]-1<Y=JDA(*4QSR!CQK%9,S]=
M,G+O-FNM!YBU\Z"_X$"-ZCXA%9:2XA5>;PE/ECO3A*5X(# 1<X>CJ8;:HR0>
M&]JYGZZB!FLKP[APV;1H+F=9K*H-.P4:6:P*4SN''AAS#7<>B$J*L.O6NLW[
M*\)K>7"M^SZXCVQWI154,</]*=(0WJK.=NAF)]\0-5M(!D%*.L,D3O0DTHJA
ML;,R!7LMJ15$WN?NIV;-[>;-@VB?F:?TV&=LUYIN?D8TX]147X*I4^^TYC'N
MPGN@%&8Z9GL1LZ]N4Y(O0'/F_X5=)ZES(?KHB25B-T>0#=,4CDA.DO8*,)Q&
M!A0'4WC240;;TXC9S<.4\=YQNMW>%LY\;U(%!4UYOMADO]<C7T.=S!SEGA*6
MM]<%\OY\"'ON5-&/=R=[ NP (AHML^&8[(&32\/1%)].-5MXP\UW*G<O>Q8K
M=R]2[LJ[<^<>/$+#<7N+R!TLD%4YX2Z\XCH(U44VPF.?>5W/>+&L[MS3:KGS
MB72=UD+33[Z03G,U&LT!;P#=4=3Z@*.T:_"@'WZ43>"H>\#19G$T@X<*9&EW
M47-.'M#KY599[JO*->5U)S^JYXIMSF4M?QD ^\,%Z[56$+W88'M1G-E*XY"+
M;<=Q8+'],1JA9ZDP*'0OO?1P2>S.;LN;%J8Q[^6%OJ#?X18HE-O.<\H.C[;P
MA_#"L4$?J?MIWJ[(\B>3)+[V0_ZT"9#BH.I"0AM]#'^KW5RX2$!&[4C&LB@>
M%K'DG$[(4571&C9G*E;N7D >-(E3W;5';X<. 70$I&F09F:G<[)LLBQ1:5[
M9Q*!C7SQI^\">,UX$L:W J%9[ ,X +8W#3-*J(*?+>2 =!?TAD@ T*:4>(2M
M#N%O4S_D@R &\!Q!@KX3T Q26$9ZF>0%\(8&P-,-MO\#BE8TINAX<?BI\5S#
M3\WZ(?RT9^$G(.[?1"2P=<1[D0Z28)(9;D7-(M;$PK?=L98&>*33\1B]T?).
M(&1A*;@O,21THE)*:9$CRG%#_U93ZI$38D=@Y%S  F_1 42>5J)OF5BL4H#H
M9#,@5-[AVWC*_MUH $S,OU2#0/RA!9N@8K<.7K:=P03!VY,A3MU(04:PZA*\
MW:RTYUW5W3:]V[>RF/3E=2D'7.;NF,J<9<Q0&N6:@L(]BL4 A1G],8%/\729
MM/1IU?#WYBH>,Q%+%8&,<"ETM<B5Z@))2$[DL<;")R$-:WREX$V[?]Q BA]/
MPTOJKL\)[+CGF4P;HS1UF:(CMT.W.LKL^3O9QDZG\5#HE'BW[1V-7]6L$U!"
M+F62#7[ITAB[4C%YY\I/\W>$03QX;11+,"(6^'7Q8T)-9RG<D%8\-OB<&@I#
M>?26T=%9JRUT78"I!JFIMU"(@@>ZR&3,&T(.;I2!'*0$>/Q5\9/R ["S5H4X
MX8TZHE,<)U\'E7Y<9^+?4MB-5QK[0V$F,-V9D&4 ATC'V&'6X8*?L*3C%0_8
M]\M_M>64'%!B!<9B\9-4B*6#L1<G7_.V]>J^^NO&]FBB4E!&A1%1D=6PM&ZN
M.$$>M;X!"&Y! Y7DE^0*:G2/I)JY?BNYJTJ\2X1,]D1BO>(&>XX= ,ZB6]:'
MYSS<,6C[/@9"'7L<#X$/8 -QIB0\'.K%9KA);BO5VR&'FZE3MX]6<0"*=&:,
M#(I2B6?2?'U^+/#$U7&M@&\J_\)QLP#4\2"9NRKA)L5CRO;U8\J>)(VYT/ ;
M?7!XW-G[&T\PD/G:QDP*^#*>/$NF(@>U[:LL629TA!L^2E B@(:3*?:)27"6
MAU%[HQ]HS?X<9WA #4?Y',1EK%$_!T'#&%:.X@R8Q37C0QX5Y#+LPR.8J.D[
M84]1F\'R<I[.5@4]UC@QWRIG#1/T!_XT%?ET)\=21!TG^?.BT"A2*;U@8O1#
MDA+ 7G(U0CZ?H0K2FL.^%',U'G.!HS;KO9,UFCG*[>&V2)<N"M7-BN_?&$,C
M^X3F<+VQ97?CDVL_"$FG1R[!?WS:*H7D&JFV[R\5:.14,?8@.A8P7-AC(A)R
M$Z'2*3W\<I*9^9=I%&3Z#T-4SH+^E$C(2&]F?JX^A28V2  4=,4):>4_6,;B
M].JGT9SO(OU6JBNPJAH.L*PHC@L#V.#=62CT?5@EI%2AFOV'8&Z "0(\[ _V
MS_R0J^5F/20%08+ UXX5GS@!\XK\)DHJ%WF(Q:SLXXBY$'$9T$P"RLG'P0>X
M8ABB4F#*D!2648R#9E<$1  C$6C]84;D:ZZ ?":CB1C^)<Y4\M6CL? :3#\5
MG&[C\Q&V8V\PPK[PL]C\:]V&N3J'&P Q *HM*3&TUZS(&)3,4'K9QXLO::Z8
MY?$"=*-%0Y;D8R$R4T-B"8Y;HJ: EO$(L]?AO[!I/!96YO^P,S!0N;PSIRV4
M3D38N7&22[J%Q_S\O\8Y:W:EB]60T7YJ25>KLKGZ:K1PT>T(K$E.$ 5(YI\V
M'86S<T159H@,UJ :8^C],1='6I4*O9\NLF5P)6V#O-$:HF-?Q3?B6B2.H2OJ
MD&U)7Y=\2#)?J;7CPJC_P#'S:GC2GU!+!)K[#AC6>K,O5XZKIU@6TV-XG:$L
MSF!NHC1JO(ERE9CHU><1/P8"4_KJ]JWP =1'KENG%"W2=?E N!A.YY$?D5;D
MP&>W+D9"+KYHX*-9$&D909. ,/'5.F*>F>>2P6]?\9 ?[@Q0UYEA+ 6 COL!
M)N[(S$].U,0-0_ACZ*<IBP4Y?$U=KRQV ):@?_-,(0LX,NAX@>%:DA\$BL9W
M2&")H[! 3FBA*9$''\O+H9S2Y-1*5,Y4(0]P]"P3.HZH4I..:/LC37M#6Y)9
M!LQ)X_65P1_,P+Y2149!@N$ _$K_MH"'X33A>,"M-4!M8N@GA,XR(?PDT]MJ
M]DET2[],J;")F D/Y/5MY 7;&MZS/H_:X@A \]E& -Q#!&#_(@!:KSHQ/3Y?
MR:OPU.RO$V"=)U_S.7\EGXK#A89*"J,?T=)#NB/9@L&A F(_O4*&*T4%R@:6
M,@P]Z0]PT.8"@2+]'Z!1 5W3=+?Y IN3L+1OJU!"V1?9C1H07RVEU6_5%6IX
MWQFU!O>';X@Q>4!(BT.'P$205P#S7.'H!1U.?=6J,BYL"=;JY97^HO0%3-,)
MTH+0(3D)4HHTA8PQ2C=2[MZ,!KIKA2GA(;%68=W2FA63Q G;23P0(,)8TFE]
M2P)>+EPXL$Q1-.TW)!+U,WJGEES)/@J#[^*&*:OLSY0?F0M#!'#Y#*5-T4_P
MZHW,9R1)ZT?I")1Y#6,-ANJ+ZCF&P8)+<(,<4#(<15:&-0N;H%LWFG7>IF5?
M]8PBR7I#.L=Q7?ZXICJBBH!]@CGTK 446**4 N$MH=63H32Z?1K>N'/#=72A
MTT;-W_X=?3Y/TQUW/NM1@\O/\:8IJ6&5A 8'<%E(:+&P(-]V(LTL/\-D&K*J
MT4@BHD+;V=S^,O9#MA1,.\GX!'GD9%"-G7H43"'37HH2=):1N13%S#R&6H#1
M UUG]LPC$O+7W!$IU9G<35G^F_6$:?IDCCN7(\DZ/)+ZH9AIT2"Y<D$C,C@V
MTK(FLD3HK%9*4$WH:YI3RU*V3&9RZ<\R/S_B#F'2!Z7<GR"5+>4OD N (.+9
MS15GP]4CC$VEF>Z2):XIP(8BP?#4Y(^K(FIO!K^B/,!%C;50IN"G4GZ92<#G
MIIVBH?8RH)4,CS*(A\HZ9N/:@$1)\#%*I/S,0<FV?)+[@S%W;@H<X N"OHQ7
M8D[S=%F3+?G\W%6<N:"4WN4U*A (Z4P8Y*T^BW%)0F+UIV3,5.H8YI$5J/DR
M_F02!@,2T3+F9AE.R\WF_&WQP?)N?S<C*28#>W+\*9H;-:IF4=8"85K!%$QU
MT'QT4A=V#&:#FW!NBCJ/:HRC0[C,(> KUL1/84&17 /_PM!VQ %>>0+32QCE
ML2GYEN4N\+R"87'IIR%[\\IQE+;?<LOHJ1'O@L0)2AS!.(7#^2,R83H= %ZL
MZGP(OY ^5Y'&1/E8G(R23M,)B1PS&Z7T\?Z4!"+GEBB4.'R(%',='8N7X>+Q
MQ+1AP5 "*:X"G?2(5*YDR%6R_A#+S@7\Q DI::YTINR]ORT\Q'("2AXDE6)I
M:)&;!"3>O-R,>'IG,HVCL\O(02,O+3,X2(0+=#RCGQ[3T/'"61YKY]PU2RKX
M].['('1REX$A@T+_9I.)YLO[EUO/UK_L'?S+>^9?OFO]UZZW[K1OQIJ.I@NN
MO#%SK:P))?3F15>R)_-[8!7<G=;EYH<_;_C@#V[_A._[9)+%Z;K:/,T;,5[B
M+OTR=ZF6S6MHJM^5@P%))IR"1+J,D]MY4P"7Z"YU9XWI*C?EM[S>BW[.<W_$
M (Q)Z@?).4C2$IYQ_9H)J2IG+&]I37J(C.8\<'CB#H+K#X%7$\-C'T@9N>*L
MY_@Y@Z>2FL" EF5\?B'G<C0EJT@GP[%:5L% ;62@<^&U["NL*!]?8D++8LZE
M^6#;G3?(8(T37N9!II"#) %_:\L<I$4@N^-2<^^T8+##(RQ9+ZVY@?GQ#<]U
MFE[EU*MEJMNW0!P\:<Y]Q7 \\A:,G-M![*\/#C\]Y,8;IZ36G(% .T5$C?VB
MG9WF'/66XS8:FX#DFK&NAJLO&">U2&Z6AM_==;EU(7*7UYD_?7N?;_5XT)G;
MZ&57KK3[A+,9%?C1U%Z,N:Q;]=T#PECC;,4&I4RO#J>= <FN:) ;'B/I>2MK
MC5M1%5L/4!6?U4O[_/ID$S#:XJR-/9\=()>NESJ_S?F8U\3/N;7E'4U?5,=P
MEYSY;KNR=U<I+8<BDY.\!)?EEITW].*\'BPS4T%,ZIQ.TWN\PD;X+[.P[XX^
M7FVGX96;G:K)2'D3KWQ1/ +6(%$,#%.VJ=X]D!T/*D]O9S<!!A"-COENEX[<
MQ2/H[/2\<&KL_PC&T_%L/6H^F,>(W*JCX74ZW.D0G:NJY(Z#*FYOW7M)5U#>
M(K$!&._VNO:5CSW'123]YG/:H)D 75\?-*>J$9J]F49H.:I3NB.FL7*/]MR]
M*V%9C"/,PG,3 X/V?LK)?3B5MQJG8@:RL,O@>CA5H?BU7&K[D(:#)J_*GV(/
M^(#K=K@ZWWB+]!K<'B^DDQWGA6'O:& H7VXBP @9B/*SIG,@*^#2_*%ZF/"8
M>5C:GK_XPXM=SXMMK/!BOZI9%&FI;E=%(^T3&8T\4]'(<Q6-=!VOV74ZG58>
MAG.LBA!E/OF#B)E&&>8=ZN8\E.6)X37E#CQ:_L(&D3\W->(N<IC[12:0=9J/
MBTR/V6-LV'+\JL/!1HQX<618R0>#(GGV14I]2$@*@3H'3P+%3;UC"HS!=#S%
M/,AK2B74R?VE7GA5/1[2HL\INTKBZ>55Y3.H\):KU["+SV%ON69K2UQ3.L8J
M&>5JS'!+Z-_4)MA&7'5BX!QX/;>8WN'B_.=U':'<$GEC>\G*MQ&H/: %_1N,
MUHR-0QZY5<TI=+\8@,="8*F.-&<7Y^?Y=#FM.(O1"+NO\=@MV$!;S4Q@JK94
M=3]4G4]87<4U+1^3$F$AN!4- \L;7IE3 7)-VE!"_SLMZM28SDP],9'-<C'2
M@.J(F0E._-L$'K\]%,/IP% @?!MSS,&PQLHJ]R5W[2)-WFNI-BF@;NH3%C@L
M?]#7MCD.[)#CS:4 ^/CUPJ9+<HHT]N.D=C:%SB!YPT&C]8QU>A6(D?TAB$"B
M8-^A+]P6S.BRRGP" 2E+,OXUC8RAW<K6,52EBO8V%;GZ:O0Q5A3-MDD$:DLX
MLYCSWH?3/#\_!HJ@^BZN]I*%EW-=%YR$'LWBG]LE*OQSS9CE1^7UR:8HF'X
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
M+>"(W"6F*../>F\,KU[ZEWS$Z@SC)=%_!ZJ]#:&ZH-O/1;F?IM.$1V$2(.0
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
M%J1#O[*? B&N4?YJ8OR;B"*17=EG5\D8PQ0E4JP\'?"+@#]]UR?70 CE ^X
MB/<8W9]!5?_=OT[B\=C/@G0Y?%<*L4WA>^:$.P#D?40X(!MQ_E<?#8#3Q \N
M[<_!CWC))[Y5E%><<0< O0=(?S<'Z1_ KOYNG]3L3W$DP'C=09S/'G$'P+P5
ME.^:>VMC2RT.1;O/-A3=/82BMQB*/JRTO94VO]53FM?XT 2)_MN/G]^?_5_[
MVQ?[P\?/)Y]//YY\LB^^G7P[^_WL\[=UY4;0_S4ZF$"V]\%Y%AL/&@_9(\:H
M2O/^R_^SW@(:5<5M(_MC-!0309Y\V5Y$8'.B\VD_# ;VR6  NU)YW0<PH;FB
M[OSTY,L[^^-[^[_L/.GEQ_#'G[UZXT\Q%,'Q,57 Q@E^Y^/PSP'V#*R[=??/
M/_%?+OS_%W:&CNA?7\A/TO*P)JJ$/WZ.XNCS= R0'%"6(B#Q*Y[^ QA9N,!Q
MW87_G\7T;]<[QN7P#!_\08;3V5O-%W8$4NS7%W"8GPMGP=3X-JB7YA[*Z5QT
M_LWXPN^@IHU\M5/Z:H)YG2_>?CCV[(?NN(2N.9_\RAW<5BL76+6\8.G/2_ \
M8/4'0651I];""W2Y;PVJB%26^LX/J1+RXDJ(+"VW&6W(/J/DH,=I8;H$?P=@
M_>&X64V*!_K;7?KS2O2G6TD1X7V9"&XQE1:ZAZ75[<.8+OD*NT><[0-Q[AMQ
M-A82YRGE>6!V!3=0O(I#S/64U?MJXM;>TVWG0+?[1K?-Q73KIU?VAS"^69*I
M\O%W4^)W#\2Y;\39HB(?X)M9;!>H- \]Y_2Z6]36>R"U;<"EL;6*B\/ZZZHD
M\YZ"^_[#\3(._'_XX11G:,RZ\MV#)W]7B\I>+/!]OL:&"JNLU-?GNJ-&==5E
M?PG&EW::#'Y]$8P!A']B1\5_32Y?V'Z8_?KBQ>M-[?O<EYWK42]4';;J.LM[
M=0>OQ0[>+9QY&?#LNN#YQA60I@E*[CG\Y;O83X;DP9,)"F@ _+RYLRR<.+2_
M(-[T^H64=/K$4 QB]GS];%,)*393>/'VRR2(Y$ $1&^UQKSAJIE- ^,/85_Y
MU\+V,5@BF([]P8!;(V+X9V :#7WV5ULI^ZN1U.^<>F4VP^<&@.BS\>IOC/Z+
MGOOFU9W>;U4K'-)1S'-9:<'DCK4?T[$'N=LHK7 ;"78;4=\A--1'VE 7_N!*
MU0!E-[%]2T:[+/^!#8)X:(N""6\53FR>-2(+[ BC?X*:(86R'24R9##,X.8&
M7 H0'VFBR^^H(%8#(-OQ-($+$Z$2@*P[OVY/N)>5/?*#)+QU\%)^& *I */&
MC\*?)W#.E $^9[U)G :JO[/13;.$1:L"BPHZA85ASVG(Z,.R[AR%]''\U?KP
M0S>&W;$-%6*?AJ/X><1SPOG96&EP*2(X2(CEXX.!H!;4<HN_1X%V]M"Q3RBF
MZ.\QXUV:,;[STX"Q(%GDWK/!;U?P).:1NO%TL,THO^QT A\.^D$(%&05WX#N
M*)LWW:G97^"=%K]E!^25$3_P/2*=JW>L!$YYN3N/9V%3.JI&1*Y +#VMV<#B
M\=B^/6'5SZ#T$0;?DUPYU&."I):H'K61#O#EFCHL7&52W3DJ/(17]I'D8I0L
MH#@5E4[B(60YYU#V<@@,'97VEJRGU**7.!0<(1E2M%2?$IO%VR,QQ"=JIWE5
M:.C?Y%I9WM_&2J:A+-B$.\O6G%55I?,F(JHEZ6Y[_-#_(%(?3@>(N)Q4YH$9
MV_4. =>IHG.^O_WM*DZ-ORKDPD=\0*>@?E($,V#'R&L9';P5(#CN8Y\_^):?
MQA%Y#/PTG2;<XKD?3V&-*X%-/&:DA37W;8X20<.6M"Q#U*F/.'K!X92Z0(,
M!AX&_W^4P+'P0@;)<4=BDV!147+@MPE<+A$6W%!$E_# Z8_RCBC>^(XDRM#V
MB> 8U',K#FUJC9B?GFN4X5G5[!.0RSY;;@9&;L3,LY%@@VVXVPF"'\VX5;:S
M^P!=O)X*24RFR021"8M(?H2?FF5)8C1B#29"EE7-]JQ5;DWD!O]$/00!*IEA
M%-OI% 4\;[_';^V+^;P&X10U$DDKK&O$ S&<)NRAAP< M^?"]R#]GLXE907Z
M.T7"'33OF.^S>!Z+GC&+K"$S9*00.E<-M'K CG%X?3?QPX>%8"D':<8'H*09
MV V@,#BVN Z&Y'@$]NL3VIDEC%&X,-L=!ND@C%.YYG(*+0M7"60_3&/C--=^
M./4SO5.EDD>-AG!S;!% @TL P'#L8"Q;YPT%#C_/I;F#6NZ- )T9_EO: FD=
MM>F)V3!V66R1L.Z+,!#7DHT:O "@C?"S?)-E]K4J9A@">_Q<EM9!3U%6#P!Z
M/'3C=^PGF^R_/8XB:*"NQG)DS%?#7HWC:<2M)60;"Y -EOHS&-C$M$=)S))V
M((="2F-("Z6E*%$)\404]XV3L@YG_MF2>AOO-="#&5AQ\@%&1^XK:183O^/W
MF.*RYLNGS5'P:>8G%UY"0X^&UI'W"EC =1Q>2_V&M,J [#C0ZL *CRZ)0Z73
M_K]8GCFJ&V8H?@ VAI?R/1(^] WE6YZ#H'R,00@_6R2DP;KT;\VWJ23I$IP[
M\[^+B*8? 1./0\',6JH$L(^#;4R,PTD.5#R=I@^B&$=R$?QL*D#A0$3(DZ7Z
M:-770QX3F6QT%FTQ]AP9D-9X*]%<4T&Z/7R,^\M&[ES_-T#]& 3[XG1ZZO!2
MY<]_8\M$A/]JP/_K]5Z\];Q>R_[\AYU/;'D77@]KL/ 4[$/;:]8ML@;;;\!P
M'/CV5S]#C]6'3W:CT6RXVSSJ^54<"6!%K38PHUZO==SU.G5;G>Y;'(;6![ C
MX!/==ON5?7I^<MQMU?-/?/!_F-]V>UY]F\>G^3H\\G(0U^#]ZX,%T2C^_PI_
MJCY7;Q/'^B5X^SM[;C\3HT31G*8Q<#7)-BTY%P[XW3]89<*!.O"YVQ18B;K#
MURIO!-J;7!M:#68L^L!Y&T$_"1S[+P(8/W(PN)0?I<</OME,#YL1Z+CA[<]S
M@5@._H<"6>BQC'Y3YR0*E"N06:?G?#W67H*-;.GAEB>G6D4*-K41W2V.(I"L
M%N'P9#0*PH D'?>Y2.T_XB0<WH Z:YOGF7N8.]BA>28N )IS*DEE<D]K\YBU
M3XFH2$,O.]5(NF+T-361OP,Y,XWGDS-3SI3Q#IDRNYHI<U "5SUY\/9<)$@-
MB$O,12;[AN3N5W$MHBE/ ;V4(Y9H?K;U508M3]68 )#B0GIG].\^!3X%,6C
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
M@0JYT#9&D!=K;\Y8[ M=5]"<47]E)'5_WIY9FMPN)%%&A\J4RY:["1DMFE#
M6#:>3:*>G$[*<%Z(H9[2N#'%2C3#$_64Z]/W"Z"80@J1LBC11>[ EZ:X#K W
MU* K]'@$-5K T=+[UJML@*H]!!S5%2IH9=2Y;KA_:NDCI:V[]RO\56AE+(!F
M8<"5?XLY]>>V=D.XJ+JST/$4,[PZ:R>%2CHP?.54F>K6EUUX,++J9@II=&L(
M+%WB2-<M8;Y@YO.W'"G<*&-%@68+!V8^7WO"^.> D'WP='\Z!F)9=V#FY59;
M!BVUE']?.T+W)\:<]'YFV:CG8:X8BC^%?@>)0[<YB>+_6.SDK\I3R%!Q'$]+
M?)IUXASU? 8K4E)MV37ESF_<M.BHW@L6MF4=-+GJHPC.1T8_#Y9UJQEE/PL>
M0]ILEZ^HU9F(N\O"RBNB:SW\-;PA: 1V4WP;L[(R>U^,=O<8!C2-^XHLFJ1&
MLZ4L[TY@"N[#BA*.BLQ1_C8TC30J1Q=*$LTPTJ$YRM74SLH%GY4*45Z=S9S_
M%)<%I :5_R3<%@!XOQC>K(.:7=$B8+R1+7BSV<ER?5KZ2[K61Q"GO'5A^XX6
MX>/N:.')CA:RHV4G:+:L'*'^A']LUQOWM>I?F8*Q0O/8(O@ELV4HD?KA5FK^
M6"7TY;$ZFGT)(XI'?7@G.&UM"/@@6R@^*-KI+M_((6,>P5(*LLTC(>'VN,UC
MF>.I>'(\5RKTD4:JI>(6NY:E]YZ'\.7 ,-'=/VL6O<TV[<45:4OB5;U\5K^J
MMZ%[@ '%/D.[6;G\UKRJUNY:_T?5;N_K[9]K$INCA%VN@,FX;WY/^CA'!,T5
M,*'783UZ(Z6E*-FVY*?-1\ZF%0RB1[-\(?R5G+]J/EL';N09"FU\IS!>5>;S
M"ZDS?RO=5J>#+ELVDDR?R*(A;+F 91^\Z-(*HS"Q";9SA_2'V/7ASV71"Q=,
M"K>Y!4F@18XG.V".DR]\RP],"@4MEF:E LVE.@-CMZTPXGH7%KZ9$T5#ZT*Y
M?2%9W>?OO3QX!F&W'M)6T)A.7NU,G;HE!FU R0,#V"6&'97V^^FJ#^*NZ)J9
M3:&3'FU7*(KD&D7>#MQ7Y;(IW#TO\K10W-]4E="YY- ,&5.@;,9:_EK6;/ZX
MK0O"G'_)B1N\%]<740A#[8XN)UITZ<7XLT\,-9I"6SDC\C3#D/5=^3MR?T6:
MPLP^7N!H7!7(RYBB<^QM 3S"R27.;*LR/1.5QGQ4&O,O\D=T61>3_S#<2V?5
M<6!/W:40$]U )_N1=&ZTZ^H,*^[KNOH[I_=6A;=-L&/HO!3R."Q+EX0#3V:K
M! ZLC*;TJI/;TAUK35]>E _C0B[HA.&V!V#J7?A&&9V?^9$U78RYB)%DS]_%
M3*%5MUB4Z$*)S C.Z;G[ZEPNE5D'(ET2T^S/WE'I^FV)C*9ZE>;O*\#<OLG=
MX[VLFGJ1U:&FK9F7,<W._A2YM!ASTVER]<ZE,!6!H451I%D^S8"27(\]8D[S
M-R@IY*HDH4A+TH?8E4(ZJ_+3^5+>VEFUMN3,\1B@ZS ?#87.O'1S*0T&EXS"
MLOGW'-+G.SP; \/L;D>[2LU3>#]>^RY% "Z%^18<--]%NB"0,D".3MO?C*8P
M?H*G>4F@BX6#U%*)S?P0-I,/SW6N3(;VQMRVX3RSNN;WPOQ.^I%_N[FGB#LD
M&4K#7YDFE6Y*E 1)2?)M"69?,UPJ.VA8MD07&3*JBK!9D >1QEYP6N!96CIT
MRH>X%1_9K?"XT6NC)FT/ GH2Y59M;G8?._,J^WA;J=?X'\4B\28V0O/T0G*B
MQJ-&?M'] CZ-WEF:+\*0KWC@F8.$H?;,4+X> )]"T4>B"U 9BGQ^YA$3#^!#
M> #,2CU_/%8M?#FGK"FH7@79!V@]QR/PI!06CL##G=4;,-.GW^4\^ '97H)>
M4@>#B?;#K-"(^A.OM&(*?^V'(?_ING]45',RDB%F4'& Z$V;/+_9M-G=4#@'
MXO#=L1-VQX[HPX^F#XO>=;\[#(@Y?GVW,BX& VJ/C"%3'W9@+^\UC1L#](%A
M 'L0T0]Y- 4==6EDVZV;^?11Z<SYIQ]LX7)>81/=)XZ@ANP@>262/K5#:=>%
M1)_X0K$%_[C9RSL+I. G(%9?J/_:GW=)(!6J@22XD8VFT4(S2!5,C1M@M(:R
M 3H]%,LQ\'^=B:)\HBS50N]>>Q4-H36H%_1%%\CE2[ED+V7CO71K;!'MM='C
M6"%J!U"]<;X:;MS@-YD9 NP;)PE1*^O! !<^P^?XA$@;OW T%/Z/S?K.K[8R
M[^(L:6J=@81 !K)A*T^MH6Z@O3=1N=7$WZ/DQ1<WN9:/]]((W.KWTAA,L/[:
M&-P:]=+)ZN$GX=1(0/IS:-1<OC^0#%[F';#0.R4679[<)H_6EHOH?"GR(JLC
M=)^MK9^!*C"A[D?2')-?E<47-_FUFAR Z+R[ D#P)JH8 $3G8C%J[C .%Z<"
MKB\_B\E,A NN1/,\DRT[N_K(Q10-*.\"SQGOW-.V_?V; 5.V+GG,F:EIW-K<
MQWOWABXYSSR?YR[IDO#@.,V0)6EHC'X/S),R!34U &-[$+FN8331OR?K1FLC
M_&%W"7\ZGMR$LZJA,I)-: +P$\IOJMGI+);1+N&RP2ZOON\:SZ=.'%(QNX14
M!T4DXS#-@;L3#>PUB[U[C)1U4+<3>LFB "]Z3'QO)- 32:H%\)X4Q>8G:@(,
MVS7=\,>E9.ZP6L]8XN=5?7+S4F]>?'^3=O+WQ9T0S$X3S)N/U<O'VZ>9.NSF
M+)[827IV"T^SCSYV0:ZX6V@E) R\T]<-ZUSU=4,OE$/2.G73G*[$Y7NWE@X2
M*@9D4^[/0Q!H3BVH(C7DA^4 "WT)S28J9]'/XD">2\A9E&*>Q6&Q6#V+V$D]
M^S2RTJ_%W=(E\='QG$UF."5S*)/CM.6(TK 2^TXCAQU1&CCM9M8CV;QX5C%K
M&VGK,MQ!XU$(E&Q1WJU)%)( ]*&3]=^R-(R_S0F L+^ T8Q>"<%5S=+A+\9C
M7;.5#WKN1A@>;(/O8&0_GB"JW!AJ+Q=1N(V>B3AV@F!:QAR;]D!*A-B!K,)6
MQ&+(:@!J62G54C)?-6F4'@>[%/11:??"LOB9RX$KOF"F([D8OQ#B4G"U.;!-
M)..4P;/T[>'GI6H]<G*P.-L)MO13WENZ_$H^77X?[8K]DF^"@X&M?)-A)N;F
M87 QN'FMBO*65-,A^*:X+[[)N(?T4)40ITG0KH><Q2R")&S'2D._G:5:!$E8
MS4E#X'9$Y%!%$%^PUQR09 %1+HH@$="3=O<>DW5E[*D.LMF8%):C\FV>V[MT
M1"AXA"4^?1OR<H%(1DU^.\G!OM-MT5H"=T)IMVP;(^1$KL-K&,%IADQJ&,FE
M((T:1HH567]$YM?//[7ZA28W'HLYSJ%'D8"\)6C3P&D/"=IL!1IE6A-6(5,L
MU@?P_MG%D&?GX\OGV^32'%;&\Y'F+#%JE2Z:[<+M^)=P0&G>W9ZQA2SZG;,L
MMT3!:3>W(P?2G(/R2;"\95T^2> )Q"F?)*L+'<C1SV/Y)(H$[K?),<WR213L
M=N]Q]!O)36HG$7/@P9?F[!QX5H63 %^@]?S"CR?MM\JW/.6_V8)$ZB9+GBDF
MX)D,_<<".W@V2_TQ;VU1_@=@&H8YAJ+)<=PD6:F?X('N,6LHE</54"JIUE!V
MNIM_4$0.54/Q!7O5"V'R/QU@)_1V=R$3U5"HJ"6/L/QH!B6/!,P<809!S-K-
MOJ6R92-BPT*5]S#78">VS><4A)U0VBTYFJCBL5GAVBQ0A/%MR@6*Y,(7E-(,
MGI.3W26+Y%CHTP/5)"*P*)NW+&8:..TYBTGYE1!B% $/Y*V%R%CM )=G<BAC
M*9@!=M_W3':M%$3!:3=K'5_&PA/[.%+T)O<W4OXI)/>#(\NLD_L)9"-.<C]9
MU>) 0I_'Y'X4H=EO\UZ:R?T(V'&[]^X)GX7XFN%XT_'B@=+Q_A(WG_5&3[>]
MV;E\O:4T?X#4*L>1?/R2:8+]LFSS\4%,\UNO&9.7;\^O.6.:O5U^^0B7&!!\
MU9A)^)V&V>[&J]54D_ )JPEI"-V.B!PJ">\+]IJWL'LKP,&2\%'0V]W5RS8)
M'US6W<A=I]CBZ\_/\\+WWU??9?5\]F.T4T(^9F7A0!+JA\B^$_(16#CR,JB<
M).2CH+1;9I#/*B$?UG"?<D(^.<\&)0N#361V"?GD6!SNED 4'LU;MC -G';+
M%C(T*TFI9.5C5+X.:QS2JGP=%HO#-?!'8<HL1@9FF9:/@).PF\U.)FB!J7D[
M;/3KN\\B-1\L&EFGYA,(2)S4?+*:PX$D/X^I^2B"L]^>L#13\U&PV[TES&__
M]GO-RP=KDFSS\@'1<<4J_3K3K3=EWM]/BC4&(_^P7YN14$9U&[=LCTUS#?'Q
M%P^"J[S9%@\"./O7X^]OVJ _O+S=T^2L5#@[#84<U??,!6=_P!L'M9C%CN"[
MD8$U@A33JC5_\1J62T_&C^^/-]=;!HQM*7P$;V0,0RH-G1& 5$/ZI4H/[+6X
M167DH0;B"_ZJ%DBX,BL7-9 HZ.WN4V=; PF>4)9E#22 K_O#L=AL@?F=\;13
M#21X]TP04AD*:^^IW+T];_]ZO1?S70^)PL[[3LSN6 ^)@M)N>5DNT5Z)* 61
ML.KDZ@"6#*7RUKA]$S3V^K$4+I5!.=O@2WR9CE,*P.CRN<DQ9]8;:&TQH <O
ME$1AWKSE;U/ :<=-+PQ#"PD$TJ]2$K$DF;T)>;Y\$-7QK-34P5[N,F2/4>%:
M!V>%+O=;8G-<08G"K7E;"I(&3KM9^:.]V!#<BQQ49,C>5'V3JJ_7WQ\N&_=;
M$I]Q*BF)D<Q0&\REXNOMCYMKZP=W7%65*,*TWR:_-*LJ4;#;O<?O(U55@J/M
MS!<W!(B>\GWR>U+Y-1N,>T>4?DY!+B,O:=F6?F9)9<7#W<%%^LS72P1P]]OP
M7/[^.+B=-;>XF0>XF5':VW6>CW(SXSS[/=LI.GOG_NS*,O<EZ<?5J]3:X@>E
M>TLC1><N *G2K2$-WN0RJ SR7:WPA7_-:!SQ_NTHZ*6P?SO3:D7\Q'Z&TGKS
M=#>ZN=9 2]C"V!&J%6&-X]E4*P*0>E"^%ZY??G0;;/BD^8-6*Z*P\[ZSHSM6
M*R*@E' Y3.;CE,+*B.D7*P+X5S*U'V+E.W( ]CDM/D.,S*K1JPYOE>M1GF]U
M1.'=O*5*T\!IWZE2OSI%V(6(].L4 :QZ+K*39MV27Q[#+6+.5C4$>>0_C/.F
M.;J^&N>X3!&%3_.V=R4-G/:\=R4O98KX.PBR-U)O]<L?>DUX*3/#=,H4P6/:
M]U"F"$"2^7UG-$?SIVIA2R-$'LL4X<+$)5SEDH<R113LTMA9S9*Y3'NI5 29
M8D,;3Z\?=*:[1?KVG\OE"F3%M(=O@ONE,Z\!!/#-Z%E7KR??K//O^6*;0VR8
M=L^)7VD#J&"/8_LAS>??W_@[_6U\-AI]BE]*.*8K$#8Y,'R8/;YLKQYXJ!=A
MJ)/WXFC%X^EMS>LS"5['QGC=5L,=X87;G))50\RP&;L92:%E?:'E=X:V\+E0
M\+NE%.(WN(>S?7"Y!UG?X3YA+!=SG%#8Z\)8+G;:>,L+8["<F&'H&Q="?S8K
M[9;4+> >]%U2N\LCV3XE:P/=C:D\H:>_R/O$HVMX:G*5IFQA)YH6::X@TJ+H
MUYP4G(@+,*H!<U4.0"I?]F.3Z>0EJ1A!I$M%,9!4*^AL,MCY-JKY3TT*)5V,
M9-RV5\;@MV2FPLMO LUQ?I-'@ODMP"_8-@;GH)3S9[_=]#-B/X$6!+]6+)MR
MME=GHX>]NBA;4<,2=T<2T&??LK<>/$07F4(*%\"QGB9->'DY9W_W)JHIWGK.
MT,@<XK+_,F+V7F$KPR@402"/;F15J6L5>:):\LA#(]\8^NZJ\1W\;$Y_WH($
M,71 .UY,I-V VHZG-^F0=C2])!4&? +I!6$X[=D4(VK4$:]PCHKABT2-)[8(
MG"C1#%N@&=]9:$2[YN3X_1VJ%.PJ].@%D:5%WY!RCTK76^N\ Y:L:D"IR88&
M73>SW.M-Q],1RN]405_MJ9:OTOUMC+\S7!6\/:J9)"Y3U;_+#*<-$OQ<%BE.
M#^DP.HI-OYT3T;[ ;Y'1KFXHP%A\_&P$Z8^^1)GZ2%5L\-.5X6S>Z,CXG]N%
M/)R!H^OXR)MF5H0<-?#][]/IAK+GH*1S 4%4BKS@=TQ_$6[+%;?YFA0N:HHH
M"K<)+,V)#%WB^(-QFZ^M*72 6UMLZ]#XVC5'35FQR/#G=<(NC$][:7U:M?F8
M^]496PLS5&A.VGK_>^O[12Y<_PPNXTR[IY9.?/K_?5*FNO4E"0O%4/]1TXW;
M?#Q:8#E:$DG^Y'B8P5\[1VU"WL(,T,,M%&F)]2MX[-'?][8RMPT@FU-CANEF
M1T).>T+#5;2*VAF;CJZ=C\>-NFR<509G\H$=?5]CM-FZX-?BD+Y>O@*F^<7^
MI_W_7;HN.QRH/[>UE/N<@YU\#RC(N)]?=D3:90:WH+KE^M/V5VU6,,)>M=5!
M"GQ9=#7,[U9E3!,^7\W [U;:8VB.]7/2(M64]?Y&*W/$2LM?) [--#((4JPQ
MW(\TIE(+19HG$>='Y2M_3R:%S/6A^2K4K\'D&>HC>$YF[?=4M6;>T-%R0T?Y
MJ@S_:78?._.26FJU[HS[.3A<W6C_24KL-&.HO13[/\JF&;$1N\GR=E'>Y-$8
M3E$JL2DGBK3 '"!%M&MD2/AJ=[[R=V93"7,+0H'FBVDN#DC 5_O;)N!W*R$%
MW;RF?;?Q=U2N]($Z_(-^#\P1,+Z^@+>#^TJ5N^I(M51@EC4EQ#-8.@3E4N_Y
MUZ_2S=,+DT^'@/TL9.L2> B'@\B]N @.5G&5.?X:I>C3[@CLIL__&TF5I_&^
M2-H\C'MC^ QI!)0L7>)9FBT)&2IW3-M]N V$UU+@-7\_(HT@DZ,+)8EFF#3;
MHQ+QFFMB_K9D> 3_GIR<_#.)_^JQ; Q4^/S"ZNMZ )+46+YP\N\Q/CZS![<
MH.1>3Q]#,S-#W>2:;L''63IE#0'B1^Q0X]%F?563M9X*K9?I7FTU/Q\M0;N+
M-W0=ZI[\\Y_34^I<!2/E"W4C#Z R:('?4Z#UH D71.KTU-%?BOH2-0ZQH5C\
M7<0>!69S",EHY(@+ED[T,S3V/?=GK\MANQ$2$J575;&&B 2%/]"CC"!/SD9T
M[?/GIUX<7>R^4NW9!#Z_;$#]U/M*-:#6LBG0T!'6@O=+?[O?0G]9EV)7A/_Y
M&]+(AUH&D)]/NP"J+OB""2:Q0R%+GR0BST[DB *^%W5$$LP&FRS)Q^#(?3!W
M];[9HMJURK=&\ZIY4:^UJ(N[YOT-3=4;E<]4N5&E6O=GK7JU7KZ#?UP*01;0
M+*IE<J<@L)\6Q9;NOY5FH]6\JE?+[1H$J W_<UUKM%M4\YQJWM3NRNTZ_$"V
MP&WJ@6S>XGE^- 9WHRT.1EL,PW7FQEF]7;UIW;6N),C^TS%\YPQ_!$JRJY"I
M4RH23=<'!2"559Y8N@F#+5NEP4!K)$],**?NO]:$)TKPOSVP7U?U6V)?" /B
MF?]]8I>$X26Q@YSQ E-@.IU%'7=^-QK4AD_M2>V,_Y3LM?&@.$?O9A=0V"7>
M^0O7&-\_U3D!K0=)!@7VBW:D\=;(WS[\+O1!J5**6<$%F<1/4>UD/$C\Z'BN
M&]AE^0EDPZ1JF@(]EG^ZQM__KA1GLZ5 Y*18CL^,W>.9(9G-^$3>+>'8XV7E
MJ'1,7VGOH(?74Z!G*]<Z7H VA5%]U[10#-U1SSKSVL^GFGX]Z.M=\:"]7)_^
MO:O]J#7N:ZTO.4POYPJ8##8-['2UQO&W1/$/OQ1*&_2&&GSY8$:9,Q/Z?V;R
MO(WKV?VQ-5V7X'G;TW+^:V5<<7*J!CT?)Z]C&A::SJ4KTY[5-.!;7]0>L*=K
M>89WX3\O5M#=SWY=W;_.2[^6>Y1Q-IYR7YA@?):+*/]'@H3@\KW>Q-^YH8]Q
MDKG P/]Y9B,Z7^NLX+6:&!2B3@G<DACD:)$IT=C"I)87W,H/N^:=#\Z\Q>W,
MNQX;)&'>-^5J.G]X$=N/S#$P+[M@7C8&\Z90'6<8FI$*-"L=A'NS+8KOXYJF
MPXQV11*E?Z<C"W[H7?:2+ 6XFH'U<7[;A$&IX4IQ<VS>61<5<S)X#I/B W:X
M)#1+FPBOB7<*!5*.+@D<S?A.:B)-59D+0B)+YB<(ST]-8?BSUK=^L,<J",$F
M+E004IAN  6!9>E"\<#=A1GO9HN>/B#1JW^:HN8GT&/YXF8NG3]VYE)QQ@R?
M)\TWJ7NTDR56]<:[5- Y5X6.3V#I0;U18HQ1#^M3L_@B<NE+Q.!_''[:,*UK
MW!1CE,/ZQ1H:/A8UYA.S2<SF%K-97AE+:EK-_H6N*[AMSPF06_I(\>3[#YSB
MKS1;;53A)ZG^(TWU!T&;7I)__XLTN TA<K1^RHG]W^.?>KTU?WQ0^VO!)'HK
MNL6]0XXTMF5;P32]S+Z80O:$ISF!I5F^2,:E!.P)"F+3-%+X/RZ!H11>SH:-
MTE&P::(<OIA";J-$<T61%OG]S>T\_KR],\#J0V;OS[*R,WZ9R\&E)/YXDB^9
MN1!5B@\89NUBC,+2F,5$\QO7 C*ZQ!3H0C'-&:TDO(\G&JDE]2^%JL6-VB/I
MVWJ#Q7&*1O(,?S&%-@PH&J4B+1YZ?@!)5>0'F-"[V*LB/C;=-'_KA9_<CJMM
MHW?HN7*[>CC^^N1=:O%C4)&AF?]BC)Z>M8G.-".R-,>D&:P2U^ 8F"HD_5^,
MNFUITZ06:%:$>LQW)QJQJ<2FNC;5N[K]PM!-$WK#?3P?>S')Q#&M8[E9OYK_
M>/O1F9>,WU?,XZ0Y?1WDP<B&6]2+NV:K15V7[R[J#:+L,E%V'N9):#_3F/1
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
M%Z.7X5X0$&,C< <L6=6 XA8,7<B+SRUSWCO[+C; 7B!G8T/>AB&&.35FMAW
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
M/@,$]CN<)[N"0PQ>7^/BJ$MT?+BX5&#H0H$G)88C2U808 @P!!@"# && $.
M.19@?$L,O">7<2//4"+";/87GJ*L]4!%-RVSHS8ZBMJ9U_NSMQ_*KQ_-XFBO
M'>FJ PST4$V+I,=\0A&69!M3)6=>VRF/E)R'G6C^[LB9UT[-(R5G7O-01TK.
MO(ZL#IAV[B;(MCE V>6!V<09-(EG:8E-LH$Z^QT[1^XLQP0F+#&;.>.ML53B
M$3@[LQ3)QA)@"# $& (, 88 0X AP,3(QM8B-GS;OS[7C18P7M0>,#MS^<SX
M_O"F/'S[(>P],>OTF)D.,"0F]HF).9)/3)6<))^8*CE)/C%5<I)\8JKD/&P^
M<64=:K3.[TT#G5D7^//KR^5+^:$F7RK+109!ICGC%O -M-/M4.:C=BC[MX/S
M'"T)^>V93=R[F3'5N<3Y:9XCQ-ZA,, 5$\]^%HHT+Q1S2_VH>C^OU_LB([#?
M"W79M8<GY/HU]5W8A9\%,LG\Z)(<!!@"# && $. (< 08(X%&-_2!.M)?32
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
M&2YDLN5. <U\=O)7E6:CU;RJ5\OM&@2H#?]S76NT6U3SG*J46]^H\ZOF0^;
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
M\IQ Y\G19@.F*6O9O#&A+&[EL62J64C<F%$LE%"8EZ),^G!#%DKQ@S-=*HU
MN]F!W=-+I2)#<Q$6K:3.?)M^=8J>;WXO]^0*&%_K7 D?D+:\H[:8#(8,<[LS
MMI:6>2Q7*K6[ROS[D]R9UTO*SZ&L]OIB\6"3)C=IT8@R\^PC^++A0P0CLD%"
MV[G[/:027>1%6A!)WU?.F2',I.V>&"S2I2)'<_N)<8G]RIO]XL+M%VI4-%=Y
M=668Y]63->=>II7+<NK6*N&E:CPG&\WZMJ=EJRX"9#;GCMS">[CE1I[A(:EM
MO=S[/54-Z+);LC90NR-[AL'F4*???*$SGZF%%TYO-)B'_D'3MWY9!J=G:FKT
MACA7VX?NN85PA,20%3"6C6?BX$R^A)Y\,K]&3'Q;1Y1HCB5)VGR>>X@+(R;.
M!#$EFLFXUK^MG,7YZL(J> $C?=+2^]:K; !_'3@:#Y5:ZZ($7I-T0>VEOK^I
M"DT')7@D&$6$,!&*+X%'GU ))NY^$5CHRDND\2E?!QZF_1+?XF%+3,I+ N*I
M/W:;*PA#"!C@6K.;D:Q994U!R["QPO#7AY+Q4##!4ZMTQN6LI!^Y0+6I+_OJ
M&U!V[*XG58.8'DD@XR74QHEO%/&22(NE-+5QO$H!X;6<\5J8(8@Q3&5M:"//
MTQ)S@()H"CF]-5<VO]F07 $3VB82/9&'[/&R$(6,\4HABFU^^WX[DB??W_A\
MKL3;J$GYY?J(TQI4AO#AB&2&LKC[-3>&+D@<+9$>Y;PS0X@E*^Y^W4V$)JU4
MRK;OCEBO/%FO8J(]<RMEJ-G0>JA=LT7.2G)I)MN^\/6*5-_%A52D=F0<:3G5
M\@Y,'!>]V:]KYM2 ) 9>OWS!01M9B+/7'YWY]6.Y,/Q59IKE),[.7K*R2Q11
MAD%UD<2W^H&+YI*[/K"MPX,OHW-$0J\G\3A8@2W0 DM<G3P??YB?DS@WQ'$,
MS13W,EPPCLZ\TK5!&QCCBCQ1+7F$+UXT%]>5_'4FHU_J*L]>?O^5OT6N6]2G
MG9_5L.[$][*(J$3E@X2:,O%.$I:E2T*VPT^(HMSM]$,492GQ_:M2@>:XP^E)
MS]HZ&(ST %!,A#%:>(4T1[-?T<=C7<-;L,R5[4U8-]Y.=*$T>KG1V\]Y]2==
MM.RHI(?1@6]:;KG[")(1=5Y9B=W7O+)W3N]@110N9HD44.)MJ26Z5&#H0B';
M,GMHD'ON6=W@4*6BFSX=EK;>>94N7U_>K&^/PR/PR5R$X+F:'[F?R-[4X#W=
M9)Y6*7E'B4 7)=)%>> ##M-EB5,.$L_2$KN7_C!?)5;U-@QY]/S"^42^IZR9
M9[/:>#+29P!@C=]\U8!A#M4)*K/;7I:]EV;%UZI=G[.CZ\E%L:(>AZ]EHMW0
MIKM+&,("#,K%F[+W#"^:B1#F'T%P0OHODO),0CV:PG8;EBO0/)DKO&\__; K
M;I@ /;?P9XT6Y)9F'V4A\8B.M;"Q6OU]*6CRLS7-V_+!R,V0JZIN8H ^, R@
MI!)9?O@VM>A:TI_CDJE#*?'E'(9!:[E3GJ].9G8<+:N%.+A2\OM -"M)A^<S
MTE&2B\: :J*.DM5^2&2/5_HA&^U?375JR85+*>?]D!,'5ZH[\^TV^1 .8Y(N
M.!^F2&@QD\\Q9FA&A-J,W5_:D3!"8D8(LV>)\W%H2(M "V*V*3EBNG)GNKP1
M).),]'_(H7J!KI5FF7? M RU9P$%_:&L*:N_\'SR!AZZKJR/5JN]]493Y-7
M?PQE;0#N9 O4^GV &BF1\?,8/,"/Z];@BM&_)9GML2>#ISH(4N@" +)^1*?M
MEVT2&LC$#50,S;&%S/=&$_N8&UX*L[&)+\^Q;)'FBMEN0@S5]UQ:^KZCMNSB
MR,&F!OHF3!"4--4% U734!2B]ZD9D V2ELF?N*Y*7]EL]@-DKE2(<^,KH#X"
MXQP67?M*4_Y(9O ]LB#CRX)Q;IH%L&!)XN@BFY^4H7\":T>K4$ML%5+WX->I
MPWX6EB8"H.64:1L'YPUQ91-_C5+T:7<$=A//_T:2S#3>=R#A]//N2X4XT[:#
MZN<TSS-TB<_2/F"Z[\-"$#X\C)\2(PU[2#\E$A^2!%TN$G2"QS2WII/)"*!>
M)'F$F/1\I+_6-9OC((>L7%$6'PK]!UGN-\^SO"T5+YL&!4 W,*A?[#:TD:H!
M/S[T(DI55;,WTLVI@4==X>O-"''*@SFYS[QK[K<.-9P!->"-K"H-@&>G=>9"
ML5R^N*WSX^)3/CH=72@IM"8Y=]FR#:.7H45;.Z]$6=%2(?%-N2+-"/M;$4W.
M./",MV<K2TSB^W 2S:;J@^QH^NI:3Q^#MOP&S!45I5T(UK,Y,P0C;Q=0 KUR
MC,1.&HPX_!$6BZVQ2S(-R23N$&,ENE#*<E(>"2;SS5MAFCGQ14&&9E-=ID.B
MP^-UX4O>SD-=0PT)R]%JFK+H*ZI;8+PZPLKDGWH7#V?EYWJ6JXWW$1]"O''2
MFJHOYS%J"K7 G5HV59$X<>>]<[H%S#J^5<'8'MC\NOE;O)P41FHN1@\$VB\,
MN7L)#FI>3ZOJRGRKB0'&ZG2<XAQM8D#7FB ]/)30+4O<A,&7BK24ZC LXI<=
M"UN%>62)LR&<P-$LGQN?[&]+AK3^]^3DGTG\-X]E8Z#"QQ=6W]8#*!D!CZ"[
M>&47OG&2V5LR?;[W F%F+VD!0,D]&"M,9&V&S(R&+9"E4]80C:#0<'.$;"%S
M9)LB>71B6O 7>#S2YXRQ3_WQ3U/H?/5G'AY9YY23?_YS>@H=,S!2OE W\@#J
M@Q;X/070['ZA!(DZ/754F**^1&TML8%9_%U$*O$?+  0W]'($20LM.AG<R+W
MW)\]B)^:ZAS"("$A>U45:X@H4?@#/<H(\IYL<JY]_OS4BZ.+W5>J/9O YY<-
MN:OVOE(-J+AL"C1TA'7)^Z6_W6^AOZS+MRO<__P-:>1#+0/(SZ== /48?,$$
MD]BAD*5/$I%G)W)$ =^+.B()9H--SN1C,.8>>3QK/5B];[:H=JWRK=&\:E[4
M:RWJXJYY?T-3]4;E,U5N5*G6_5FK7JV7[^ ?,]?*^%X\LIIRIR (\'?VK?=&
MLPTA:S>I2K/1:E[5J^5VK4J=UQOE1J5>OJ):;?B+ZUJCG3F$U5JE=GU6NZ,X
MAJ:0_XAIA&Q^2F]>XRW;Y#>F8_BQ7F1G%I@]>8($R)B"52^$A7]=]6N:QD#6
MU#F.BRL+JP%_.)--U6SV;PQ@HD@8_VIJPI#9-*OP!88ZP55A32E#*S354&1\
M [_<@X%P&P)Y-M)[SY!FDT6H5RH4/*%>IN_MS,NS^CFHMR1#*G[*1#X13U(,
MA<<S,%^I)>MB5-GSSOSB8M3CG[3[T=L3C _+[?N[&M4\IYHWM;MRNPXYV9&O
MZ^ORW<\3^)=6_:)1/Z]7RHTV5:Y4FO>-=KUQ0=U CJ]@Z7-&0&QCM+\99G?T
MLF5![I-WCE!#MJ8&:/:=/=*0$_!IS@)XB/>,? W]:F?^>/<X^67>&=7)<S9L
ML#+*(SC-].G?-081><BCEC3J_CAK]0=0U=G(H&3!$IW%B4<X^%3//(/G5Z>Z
M2;5!;ZCI(WT A96Z,/3I!%H:K?>9^A,YK4B6V,+7BNW3XI^8KW_1)]80?G(P
MI%0T+-Q=-TZ9TZZI*JILJ B*C<>[#W8>BO[N/A$G\-J0,7], 2<6UCZY_,/B
M\W_V]-$(H#P?&,U.MH!*J28E4XY3#AUQ&3J2$X!<;^@ FNA2UUCN#2$_4"^J
MB6),!(EL0 JIZ$/P Q9TD]0!]L^@*R]K\F@V!U1?-BUJK+_@=%+W"8)BGIC3
MWI"2H<=OR*H&T862UGN&_Y6G4#CTKCI"-,#/5XV>(?>MSU1[".&S7"+-J![D
MR"$80?$:HUO6@#+E/K!F-(0208*G"MO/6))]#% ?6P;QP]XXL0W/SSDX=%[H
M.-&N'<W2#21^Z.<[61WU9 ,R!CH^)(LG-[J!TL%_WM5O; :"7^U-#0-^;S3#
M7X+G@$Y0@>\Q9F@8,YJ$A5*!JV?^=P\J/T.F7N49Y%^TA-2R7T&9,Q,ETFV^
M435TL0C@)T_M/7SE!:.<U+V,8G,9FE(SG2"N85B!&D^&Z+PA*O4;E'Y$:"#>
MQ-R"OM&?CD;VU^S9-N@]T(FG*024PSEVV$.-=/T9Y[TMZORN_'>Y? =1TG!L
M>6)SC/L&A,5$5U%\B5]N8T3)(U-W\(1" $5I "EIP/<8#K*R"6T^_-M(?J4
M:KSJX2B5DA&"4)@_4S5(0YO"Z%P@[:%]T30(_*MJ#4_6I,JFL&ES+D3,H* K
M8>J&&8HJ/M@Q?"W\LH&RM;HR[3EO@70SH6[7%-/>IPUAAD3!\"-!ZH(3O+JI
M:W.#;:3@J^&!8!F;&  Q&:0#0@,'X?1"\#P"Y\J:KKGRBXF#04  3 W5FMGD
M=;G8!*/^*?P6RB^9)S(\6-DY< CH4#84M-237NR]A0JO;3]ZR5'4"D=Y%N/:
M&QDT*%$ BI=3_1CJ(T@%$W[*@%]U5HOCOV!$D$(Z01MQT,-ES7+T&H1HBC[N
M;)M;Q0'SR! =&OX U.J6#,5H L6N#ZVZCE"!E#(HOA0(MJ.5[Z&X5&03N K_
MQ.8QI!=E7#B  ML?R0.()KJG9ZX"@F!0 )[!IL"31*QF<[%S #;.E1$\%NC_
M(9P1*T *0=C<0[=I 3&'0"+JH)]/W,N]"H46L&MXR1?BE/X46W[,FIC#;0:
M[$IC9M?Q##AX?$-U,L'_0E\.%)7WH9@Q)]AJ [,B/@M E>U#A#]=02L/O]<S
M3SR=FE3+/JH_RU?UUE_4ZU!%-M+YCDD-X/\?ZEB;+F0,?@A ZMO6D\*1GLWR
M;ZH%B6P, #5R7V6K!_21L:Y )NC+/76$2W^?3[!MA5',%,.!08<'KAL3Y P"
M<Z&!T".@ZI0=/8DLN 9Z,+A!W(ZL!4":;@&?_7G5@'PZFMGOABI(P\*-&1(5
MO=!MDP60)^CI7<3^-G.BV4:F::<&H64"\A@YI%X*H(]YI!6]QU%+ZQ]RM _Z
M >LN9!/1%VA*,>2E<#E?-UW/;3*U*(@*QFPDHY=KSME@5;QT2-2EZ*T*)7BS
M]9FE.Q^ ($!K-S!D-!FFC0[/8ZPIUUBWD;'&;T*ZV;;U)C0.WG=B88(40DA"
MHVUH7HN(^ A_ IE1QSZ_#PG#@6OQJXEX C*H37Q(7DAI;#:G!A(!7/ ^6=@R
MQ%:NVG(T(-)+D-H48BIZ31VB?!_^? -^8DB5<0@I?_6^ WGQ;DP/57S?MC$0
MCJ7FLUG/47Y?3VSAG'B\4G1R\!MC "P,F:->\2%BB='PAR!#+/3SILJ'YGDB
MH]%^\$D&,"<Z5N"*?9."4OL>*<6?@-'LB:53&TK='A2H(XN([),!!M.1"R,R
M0V-Y!ET%+#SH6S*N5_LX@TL._0PYVVLH+ _D\&DG2+K&.OP#@$X?2IX@\<*"
MA<3"-=D>M07%&/FZ6'U@,;++!$%2Y"JU59JA1("J36V]TM<A94_0";HG K^'
MWHJQ0%H!'AG*  ,<42SXR82?-?MV/8M>\1\PV-10'0RA/C&?D=-HGX?CYB!/
MZ;2+"?^J&\\4-H1[DDR<$P'XXC_X=UO1 7X#1O/X\+^@5[<<PJY4(MR4 ,N5
M._-'#AB5N]GEB[A,6[W+&L4/>31%K]NL5D@[5RN6%!4[\]M?L_+/'C,3?XJ?
M\EK'R%-N/QM8XF?P#Y6_3UI3PN5Y5RFLZXB)AR>KG?GT=:99MS>%[Z_"IW3*
M4&MO#WPY5#$O;/&7KE2-VR[P28FFDC_>*%^M@_?W2E+YW_1SS,7U,H=355BK
M&<RVYYK///6*: _HS._[]];#U4.K\*N7LXQSJ3._MBH_[Q[-V<TWZ=._-]#5
M@N$I]'WQS3=O#29.XCG]BD-&CJ]_3P2U[(GPYMQ.9/N@33<EN,A3(%\*!5]#
M'84ZR$55(N:B?=/.Y9&=]C5.%VEC0]9,VR<RL;?;E4?(W;%34F"DCB'LEKTD
MO.<]M0S='[^"=.9"+*T+\;V)!O)"D' XOR:LWBD3JQ_LS)\>WBYON'*7F_N5
M@=+2>8DEL]:9\U7KH5NX+154[M._]W:^=X' NQ1'.^"2G< O2" 1'R%_7[5F
M)W; LE# \ D+!38 &DK+08&$?P<31SJ0W-YK*OJI9>$L#,JBVU$HC,Q^3U6T
MN0+"#VTX3J*A*%)^AD+F4MY-P$['DV4,=R+C^5YVTA^@) B*3<8+=8'B7R<=
M.E*ANVNGB)Q,CGO;&'_2#J(&.'\7\"4GI(7 N)K(J\=.?,F&(Z\ X' 6>NJ
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
M^/ X?*P_#Z !@TC9D\N1SWJ^F&)4A[ZR,5W.7D2?.[$_YT'_70W=\EYY=^Z
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
MJFI/$R223E[L E;8LH8Z2&$(G9.7\,@W(4U2<K/DW8G9(5A/M,NDQ, 7;"V
MYP12(+)B[0(A !IE)W'W1)1#5;OHKDKA)TJX3SQ6C+Y@3\:J1 70,5K&2,>S
MQM%]!TF,1X01F*V6@/@=.FC(\A4+V0,E)7WEJ\, $/D'N5D@H?EO2$"O@=Z1
M)*)?PT//SC'X1]>^T63_R!A#I Y/+M8@*6<3Z";&=5/"'[2G!_2/"9)]XQPA
M<(R+_8%=4L V%+!B?3$6.JH>2@NHZ\GE$*@@8CK#)M8U;5T+IC$PH&JS:&%0
MT)$!228FWU>"[Y@H95=O0[B3/LS1Z<\UR""BAP1&-#^*KLLP7:=-K/'W*T1V
M= &0,L*0 \"*.8O56J&ELQ8.$;[<FJ5JV?Q?*W69<K81.-U$A^5;L[%]FVJD
M)LJ?,=HFW0YF#W=#^Z2_-G9BA1V.^0XIX-#KR@I7"#NUI#*=73'Q'@-V'OFO
M,/C:?M:- 4X82P[4B( ,)#D,,:N!)0_OABW((+!&_1Y1I,C)0H](2+O14A3]
M#!*5=7.,W"3(39>PO7\T)>U* .'F;542Q.?,ESH_+?<?CQXZA?[#AK[4"EX3
M;><1OJZH7E3T^);H1<GY,+\6NU$?+.5;+'@DYIEE]L#[T0C7A(G)LBLFP[[1
MFCV-?Z5'I^KQI:[LF6RLM6;/#P_.N9,Y*>4[7W["'@[PM9'(+CZ26!01'\P6
M<2C:&L^>\"$YV 5.)OCM)9:F!7 ]FO[%M**1!&,>Q 7(78+DRJ4.Y-1!.GL@
M9UE]7]TU@9!!5&'N/WK]W#E0]"^#:?+*)EAYCY;=P;*%)W:#5XBCBY"TY096
MV[(>&< 3TMZD] -_7G_MZ."K>"&N$["Z$XBM#(<U>>ZHR+3OXKI'=3RVC?:$
M9,*@.DQX'AU"UX9\,(1/T:_)ABAXF8EJ]GFBCL#=@;X^$T,3;7KB:R3F=XF3
M]11Y2RI2N@:%K[,7.*2&C0*&?/8HV,$Z:"E,)[QJY+69/5+VTC'LSF1(V\'@
M6<+(4]$3W*\!J.V4JCR*A>.U<4-U"N!<6D!'> ZZ'-[,,2#="K'W^_J 6/($
M4N"6;8+%K#*;V;%,%ME9M 8(2N(3E#PG")P@G"*']Y$5N#V5:/@:/^M0JGOY
MA0#+"! )V13DNX2R-*HFTIG\FK+P;'YG8Q=0B/[&"RN"=L>7Q'C6X6#S!$=C
MNQ\ZI->*+H%$W@@4CB#)H/HB  P1^'9/L2O."A _@U9&?A"7HIB:B\4>3U0;
MV0^Z[H#--31=IQV9%'>(3.B7ADY\!?1?G^H4VR:N^*36K*M;7;/A:+/&OJE4
MN37+WV4O](:1O7U2<48)^]+N+CZJ3NWCJ(??LL\+CB0A!:7$] H/FT%V?"6P
M+>;L]K&:KIXTRD^0GZ4V-Z/F"WV&1!ZRT*I>Q.X!]K.F3GV,KWA]Z:!=?/E9
M3(58RP?H@>YZR80=4H:.Y"E,@Z=H,K4-9?HX^ 3PY@&MB<<:#P?TD#WR@&0R
M%KI ;XI,P_&6+NF !P)JRD380.T ] H7 4&(GW;>XDOA\X,F#ID<%) W7'9T
MYPLZFB[)%TZJ%]9)5B_^/8_Q=%=. @[1H_J^\\Y$.6]969#U6^,2K$1);Z)O
MTLX_#//7/5L8/1L_*9>F[X)(F8M"RG0NC)3XD3"]V'\A('7E()5KDZ AC4%"
M"'(H=G_&N&5D((&U(]P\N#WL]D&0@^7R( C?%6/B":39!P28Z4# D9JT4$B+
M+AQ^#O\ZA*'QE#ET][H3DQ@3$$1G(.HA<MZ96</QZR\&^@BTQP"2]%R[ARX
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
M[/2!.7N(^X>T=<&(=(O=!.,-.4/N]*-0GMX#[%Z]EFH,:L;3$60K]A8N5UP
ME]//+_2GWO%+3>O\8W"Y0HQPN0(B9.VY-NT\7Y_ %)A/N-PG7.ZMX7* 6WJ:
M#>24UKV>&#N&RU60;%12CGE_\=Q4@V8H[APN%S<\+C\WC_+,4DT',A].TU8U
MO61JE^"7W+C5EF[-21A2KB(V[ESG>:W90^;L3WO6/#][W39F+AV*F:NU9K)Q
M83^^#*]/+O)??I;*Y<M;=.FD&W0OZK]+1V=5E@/?@T8X\?3E8]//W>I:DIU5
M'=[84W7G7B2X8&!#7;^[YD:\C)J?PW%V^KHV&>B77;9HS&68WQ"7U5BAL,MI
M(KM&4U><%PI5$?RY_IM;,^UI^C X+I].S_J(LR=#=")3_)+O0C&7=" %,)OT
MM0)HAH%S( 6<T[<UY!.UD:"*5ATY2+NS/_E4+A+D2$NSY^.>,QUUP+B'F%!?
MJ+@'5>"]2$>YUFQ\4<\7'R_[I:+&UZD9#O)CIM^A!:;^Y2<C*\[7SN^/ U7A
M!>C_@NIA+X;EPX?^WQ?%/;M,41&@5YK1R3J.<ZP)=2I!VD]4;-Z7K?;N@COH
M8>:4N[73YMTX=Y->]]V@8U<[C$4O\G0-$ZS9 EAT[+4>J@=_^(>$_T[FN<(2
M!MK*#P^D8]2WA5@PBU8@ L!VMLE/"FY,P7=S WY(5+-P%U/&CE)\A[K,P]W&
MH8,D#:%(P'8CK.'S#-8Y ^6-ST"XA5S7I<3A],Q <6V@8P!MN6C9H5JZN9A9
MN>O6S&K?W?TR7R=EP*LNO-0_<*JN9Z-':V"U6/9WR>ZUORJI3%))%Y)*-OMM
M_N)34R:7^X^7V .].PXT>?U49;;0?[X$:G[_IX+>\C]AS\SX/HZ[$R]#M890
M=P4H:]016PN0P7(RDU/0_],!4-80^@51QFOM? B2!T[(*ZR"'@X%8V=DQ.5Q
MDCSP)HNC"4NL_TW-LG&M6W<RF"<&1G#3F^WPFUW[.ZD\&;5:]EQ=XV;?]8VQ
MOEB/PWY"A#Q?-TXR:73EW+-8H$MP,#?PF0M8<05%4/0W#EET$39Y+F-L4;@?
M.'KGP'@]Z!N:IJ//H -7C->V/4 <JL B<+7;FNIEI9U]4KQ82.^ XH$WO+!0
M5U_HXY;1Y!=ZS"]TY?C&4+NZ51QM1U4OO]O*878D:FUWT4D)+7L9_>C75V4K
M_#4L1 9Z)%VSXE/65$%HP]%U?B'J:.)8='X@X:-?PG_SW((-AQ4J]C8W'-8Z
M-R9B>/;'F[9XG_"7]_CD)I\^;5I( $.97)MWL1/K0]P*S<1<*20/YA-LPM;/
M;MM)KL+<1(@K&X KX^G50#7')5.K/DV,$>!)EN>V4MXZW\B/:<VFW?;]@R4_
M3H=;FE*'TUF9T'26TIJ5.X-T];<^?LTCN_KJYO*J>M.\QTG=ZO5M_0I2RGLQ
ME"Z&:X ^\P"-[MUZFQ$]+<S>.CLJ#-56G41 =FO^0GS?'5@GUAM03$6^ 1LD
MR8K9*'=#N!$-VRH7KEZ4M)59F L+YE2>#D.?.(]VV/N3(Q.R8]76["7_6,E.
M3TLE(^T-V8='"HD2_M]VA&1:,"W(#0]PR;R1P>BIKIJ09DM73H=5+7V1N5>C
M;B@X^Q5M97%MH2QDZRJYP?U#NJ<]%KL[V0*VH?8_K?&9EOJDX/82>VOP?S0Y
MN=EQ[F%.Z2WR>+%>D0])T]7S<KO)AF\C<5:;V*:!R]G^KSH<_9!JQNN8-**.
M/Y7CTZB\STRA%,7D]*4>W2XSK>7?/9H" KOT:CC"I_G6,=R+;/L<R\S6+#-]
M.2O=CYOUWP9O7,.>GI3P\TG3"?:&I$0S27&DJ1;38%&PD.VN%;XYGU.AQ!!/
M3"O)5&!#J;W(((:R7:0H0 #;*5MCN[]_ST]&U=/JZUGO?;"=LB[;96)@.SD+
M8F\K6=1MI3F__&Q:2*]Y#W$A(C'T0:%L77L3:<I_RT6H^MC(_SF[K3QWUN/E
MMQ";OEWXF#:&&+Z<5(IR,I=?'L-?=N(Q<<O1FPC!>6ZQ3J_K1M?IZMW]Y1:_
MM%O,+3'T[9.3<DY)9G/+A=SV)-OJ^=XO/\^@C1!,_)#$L2<Q<^[;6(U\:^+.
MN/Y^J3S]J?UY>#G/[2\7^V7>@AV)'"TCIMZ<HY5B(9E*9?9%^F7>1/HMY"'C
M^>*N_2M5.^DK^\M#?DD8G8=B\#<4I9#,;,Q#6[#V N,?=0@Z0*N"6T>7&E9W
M_*+:<^#4N&%3*UR!RIN(44:(BOZL#RR/*?"BO\B9_-VM?JJM=P%6(<ZNA&SH
M?GW7(P:_*%V0DYF,O#)(1-X$VK-#AEU7[V\FLQ<P[-%#ZKQ^>30IZOK[95B_
M1(_*L''X1*D4-"7?!L,N+7&(RD"S6:GPE'%.;M2>OA709,@' P/,49@K%D-I
M]U:IC[MB\*&4I)Q*)^5T[FUMSMT;9SY2QE(LDDOEDIGL\JNZQJT\\H*9W0;O
M(QNM#7?R07\>Z/ '1(?2$ ;,SO#/0VDD%#1H!K(L:MEV<_!<_R6 MW96R2"T
MO1?W].:*=7T=]'4I8C:60XPN+F0Y#AY/YW/)G%*,2QU]^SSAM4XX4(K),;B/
M172^Q5QLYL:WB 4:H;O'=1K<SN@-S>)%__??8ZNS%3L#;\# #>X(=&Y^3Z'U
M&J[=P1>/;0]F*R9ANLY;%0&LP/0;E@(L.LD5A%4,KEY>R26SJ?P'J>,@S]M)
M-<?*1Q@LC6(HQD&:)IDIIG92TI'8 >IYY>9[;]KD)C;XZ;[#8S^QKY_(S4\*
M[B7V=9D_L ;F,J(T^,2H_K,8U<WZD04GM?B,'8UUVN9#'[[O6H7]=R\5ZRJK
MVA4J.&*&<JM(S+W+09Y>7V9G[?/7>F_-)/Q;XW\CIF_D_.[RC?L&_]V[/.+)
MX,I6C\MV\7%-]-!;HW^C,ET<J8B(.<-] O]&R QH^Y09" :);B<WLU5IWCEW
M[FYOQXW*C1PXAEC<QR9)^3U(B*QZ%Y4X4B;I=%+.?*"$2;".V![C;TVC/.9N
M&K/\KYO+]..'9?PUE9"2WISQL_ED*ATT!#RF1-(.L-JAN9Y IV"?$CSN):VN
MG&7;JK:Y4WZ-<YU,YMIZ"##C%F3.%M_ -TI:K7RO8LB)*!G$OL75+]9^IK4V
M='OG&'=[.,:[C'E=-.V&&@2\?3>,NZY"B,$5SJ232FIU0RAZ+L_-Y+F)O,#I
M..\C$[>",R4&K#8)%LPKP.#O+<+LN=_)1/I2Q/>\TPU\YOW><];JDX*?>;_/
MO-^_F_?;4' 3.T7TZJ4J:52Z;LHO6D)M:4_R\*\2JW-Q*FZ#E[WC7>VZ3)R9
M]MZ>ADF)S$XD\\1I% +&$#N^U.1J]1C1$D%1XE-B$ '2&:W6QN&$T$_C.8OP
M!5X?/!IFRN=%\[3QX&:)@N[?^O7 46C@];R\#4T#@@>1]^?SR6+(%*7E;#)7
MV'7U3SBWY=?G-H5SVV8Q@!6X+?5PD\IFSYZSQYE]XS:%<YO?XU^3V](QY$*4
MG)(L%+/[5YL^_T(.VU$%2K,VX^MQ?:1(UQN)V 6!K\+=T>QIU#LKJ_E]8_)P
MD1HQK)6.(<]1R"33RJ8]:&+CI=S;"] %O"1W+Q[/BE;M:+9OK!0N+Z.R4@RA
M?9PRV[3YE3\4ZI\](+3Z+\FMV7,YJ[?_/E6[]P^<[&%!TZ"H:E-$,DJ&(ZEH
M>VYG;MT9HWU#.K4[P9TT11 '']N /NAP@1O0GG[5F<N;&5EA7>;1(8?.:+:Z
M-0.=I7YF/.M:W1RK9L] !U!R''WLU/#611ZDC-[<<&AS,1TPM#F.I;3ZV[>>
ME-'O3*FO=*LC></>^-55F6R=+OF$YP_@PGV7U,G8BA+MSZ;^P[]I$U\3OKIR
M+_TEADYD!5$X2K5FF53O]Y_QY$5[S0=/JOXA17]18Y/+OE,E&:Y3HL7X=QD.
M"'O6&C#1)8_*% *?A21H9D\PJDM #0N$78"8NT#/;[[H@V?]'-W\/D:O;@YX
M6$'JZ=K#C=E-:>,G-T(!Q/;C5#/Y=7"JFQ$C$M1A7?]QA6C%/)JUF%T.>'A+
M-.O:@GGE[Z,3R;Z1;Z&L?>ON==5NOE@[OVQRKI[^>U)O7\)T5O>R9==W,-;:
M]S;O56:%N(S_7J63>7G3V-]V]6!@YF;3R[;A0]'9Y=9$,>Y=N[C49E>Z;^OZ
MSB]U[U?IJ:G6;RXZ'?%2Y[;7,6Y-RFSUVJ\0N9J#8>64Y?U!-^LG%Y=>#0&#
MQ2T!MOO8/8=<TBM$F%P: )=#:I&RN:1B/O\B"(UL-*%!L9D[E0TGF<Y@5"D]
M/'8R6\5=+M[V5B_^"G'&'0*'YYNIQ-)-A?5B2AUF#9.-E5T:TZR<5;JYQY?;
MS+BS=J!G64>7X,!H?&_QQ,4]P)>!/AXC?J8!P>_20>I0QH*"!E@2% 5CF-[1
MGGAH[O]X9Z86/=->-TP^S8K'F4O[ZO2V^&($Q_?I"K>=$/(.#?7<GCA*>D-S
MYICLF-YS9(XQL3V[UX;6\:^I-K@-R<AMF\QSR1(?D6, )BBY/'+Z@]#BF,A)
MR=:=D8Y^]JP/IH=;'&3=YF*.CPO>[C1G.965_5D&OXY9/L19G',3X=NM6:9S
M7--OTT]F-[\%F<EF-V=#9S?76K/VJ)1-#W[?3FLPN[G4K%XT&SCHW[PI5:KG
MI9M?C=W/;H[]<--A*:3+;AUINVZX9;%IMJA0",@6K?C6ULS,Z[/7Z]MRN9M=
MG+8)/$ Q;7.ECF$2 A:88UO5=/2H1^>M)QA'\4[<=$JZ-5-ZU<?4N7VO%;3@
M=(IO5G'@KF,-U66*1T&0D 5&Z]$4SY<NPWAIO_5-ULLL[.%+N3$\FI5-8/,%
MQ0KKY%1BV[X<A&*(9?OG]8O21;%]V1G'O_W/6I'W7.GP2<&]F8_\61WQ67'R
M/BI.-IB&[#;2EJ/%XWS=FH9JO711/9[5:\W6[$_]PG92OP?W(S<WMJV.:E2C
M;@,JL!B$L%;GIV4$C1;K$XT(GS\0 VXP7<PF,_D8,^0?\U3FD/ +3B6&R3UI
M)9>4,\O1[NO@%MS+GXN8P7.[S'C"3)YV.T-'$ F9(_7\:7*CFL7,&B(AOJY?
MXG+?/'.Z?H9Q21>@U8]N8\$3Q_B@7"Z9CKW)S^?YAI[O*B(LCBAL-I?,R%ML
MXN3*L8A(!)Q4;'(;9BP(K.M<KC)Y?B@5B^G]&PZ"SVF?.D3M>7(TG*]S<33E
M4XI(-6]IKL3GT:XKLG(Q###*%9/Y"#4T<22Y_8F@+4T0^=^VD._8?L)C"\\O
M!=102M'2TV(>2WP,I"V\_+<H,3VHUI6):ORZ.G$[5@<M:AG[+U[!>BGI7 RC
MCHK)HA(DS7A".C%'V.HZA)U+1=LS9"*DSHJ=J_RN";LD"9V+8_9J.IDK!)5V
MOGT.&BV)-(+0Q;RODJZT9L635$H=SQK:8WIKZ!=8!:8+6\3B)=TT4U;VY*^<
M[LB[7))W3?_GX$"J&?I ^RY=J3VD_1KZTT0W._IW*9^2#@ZH,M:,9V'QU=8L
MISR<#R^=R=%C,7)XD99\L=_G<'1SY9YS-!A8'(U]>4QD.H>EE4CDTO?YVH&X
M>[;O'Q*@S+Y+)5MM&YT?T@6ZDH0V%Q;00RZ*W_HO^QK\RJ\5796(R!=(2"0L
M&B?3H='/SC)%M\*W;>OJXT%;1U<5O7N$SX42;VR-UJ+<1I2*\?[R&'+[9^7V
MLB$UJ^63B\NSR^-ZM2$=WUS>7B6E^D7Y$&?(&[='C7JE7KI!OV37?#MK 1P&
M6LRE5+Z\:%R>U2NE9K4BU2"O6:Z7SJ1&$_T *BRWO(Y*M5P]/ZK>\")?3 <2
M4R?OC<)D(H,"YP)S+I0"HF0Z:LU.CXWG<CI_7*ET?9(IL\(FUQ&+Z$*\UI\S
M6L>H*;_ZV\'<>-7&'%VV#63**WZLRXWNZ*K=Z0O%]"53*UO#T03Q!2^U7PIO
M$I$L:S^S-4O/U,E][T8;_>YM$?24\X*>?OJA3Z @[_1^NW)G%+3VEY^-RUKS
MKG13352JOZMGEZ3<N7S9:+KPIQV@H';L=L3.>QG&>]K$&@L@*\80B$<"6CN4
M+2<&H-512^^@75I#$6>U\HM;,V/R^U))F;^U6GXAUHIQ#%$E["]S["."KWB#
M&\U= R([6L16 5@QPZ]JK=G?XYOC>E9[J"EZ%/B5$[KOF#%(:<'_M._TP=%T
MH-V<%?<7-%40_+KR8UTY:UZ-[JK!M9*?,*=_%:3S2<%=PYP^@3>?8*9_!\PD
M%LJ4U9$Q1IN8Z7/FO _,-'M)74YF)_?#LVYARP"FP"8XS*@0#+IW@J191N-%
MZ3J?Q1U#Q#6OR,ETA"$1'P?)M!;] R/>^3AJVS)R,E]87AV^&68I[[I'9<MT
MD/.&WU*'X58]6_=<;'7<+!?S2FIZO3T4TI>?XC(@,\46$HN)'?"YA:R!'=9@
MPJQP&^.8(YDI)-/YY7,DM^J@+*">J&\.'+US8+P>] U-T]%G$*<IQFO;'LBI
M H[/%9!K$Z;3U^!A.9J>6H2[TPSD:,D/1>ND<'W^V-L>:&4UP)WZ3P#N5C^S
MZ'>OL *.P0>XDG/)0N834+>S\PO4I(6UFZOD<\EL?GE+I1CP<A4AQ!@23?0,
M1YL]_^X\6Y6C/[.7SB[QO!3S%&0A?W X'(D[AY_-"O(DAAJ!7%9)%M++^U1_
M0MXV.;Y@<1*#8Z3DLDDEM:7C>R-<V[935SN%M2U,+3"P6V(QV"WMRO3%@"AY
M$=CMI#3LW,RT:36O!V.R%BYUX758LJKU '"%& H1Y$PJJ>3RJ_5D.5J'W',0
MN'/]=^=&R93M\L,^D'L)+*Z8BH'884;.;F%QV[[>JW:V#YH4LHO.]A'RRLL[
MVQ?GH!IOW-F^MF^=[2.3N353GBZ-JW;^]5E]B#MM/]?J7N2Z?[BM?:TURQ3M
MT^+O7/6JV D& L36UG[93?<;99OVE9SWLL(HN\#.WD6+ZL]^^JOTTX]Q4?,<
M(CPD1F99N5-_.M9._8+5&\N(H@BR//,ZM5^OK(=TM1O<KW\9/^QK'_\5S :/
MH1!#N8J2*R8+Q>5%6O]N1__WK3'<ZW\4Q\B -[CUO^KR[<2>'+UV]>#! 2MH
MP[<:*+#N!8\C6I55DNG,IHG#S]$"NUUG+$)C6:;G[84*&UKP!F+EU'I\*9Y.
MCV356&]TP5N*G<@C#=85/''$ =.I9"[U.=W@_3]V>\+(FP^*OGS7O5EY8D+$
M)DV>A.U.!5/OZ.FH>-LX-_3.8EFT.O%VU3)D/:DCIV((B&\UMSH_66'A^(-"
M:];H/CS+3P]V+JMMH:IMVV'W'8U4$ /SD(D)[$<QWS:AX.:,Q,>YU5W :,%Y
MN9?FK\?\2?.\,-2"V_;[E[0P-Q3^]K6R<')J;<Q2Z #L!:FW3&0RSN7;AF<W
MQ^KX6-7T-R#CXNR:G%HA.!)Q]#,FXN&;Y-2V7!XLIW+^G%-%;X]7*_X-^49K
M-E#TX4LW-WRL#S81@E+V, \:+[6TRC<?.MH [OY-__E2N3?N[I 96*D>-2.5
M\/Y7EN->ZEPCD8U?NP"#(>)S\8?0!;!L?->^(_Y'UL7 @/K,"VN,7G6E3G&.
MD)&Q;J(C5:'AQ)6M#XW),(&L!/1WR,:6>L@9&9(VLKN>"+&E5#.@&%5SBG>?
M_^%()B;*B!+%U@>(;FCG8RO1Y610.1FD#O2N-[H& 'C1WR:V#1B#@:&VC8$Q
M-M"CT(5U#*3HD'P<>U+;Z/-6]_N6^6&;Q=YRJA ^5 ,DQ,8%W?G R1GSCV[-
M?N6SK_+H]?IXH"W,_8(0$!.[%Y[C/I""#OFM1V/,U22Z^5>E-5/*PT?Y^JC3
M?,@$YU^]654/?_MP^8$^74!AW-+<8Y1"A'_NN5$C&8OAOG,W>\7"V9!*A(4[
MCAXH6[-<> Z?$[T6<G&1\$<FDK(-(JW/I#'OFO.YQTK9R4FN6 &\^DE>V0;2
M,2-U\ [9?.O$J<-_=&=IA<*_2)M/QGDCQMEN3C3$.3%L#<D]>SQ%=JGKE8$\
ME.3U:CR#H$)BD!S/P,4"E\K;,G%H%H?'&WW+'C=U>X@-<QX09Y$FO!&\#[X)
M>,6EJ7/@YLFU.6U7C:)1Y+$ECV&>E#CG+S*^(E:F(L=EL\K4K976\D5M<S5!
M3%!=F0G\8]XV9H*+;M?\^[?:J6B#W3"!\MZ9X#];RY"&@2JC":<YPS2&'A"A
MJ(3*&XFOYHO%.%=+G<O/]6*^^:1'YUP>!5@'IQBVT849.[*AUK+]>$,\<@RX
MPW0Q6<PM3].]37.1Q0\..YT%[=+/++/'N.E*M\$Z47OZD:XB%NC5C%><:L6&
MRHTZQH@8;;0=ONP.)OF.-3RJI[IA?,F6LHSA5MO4%M@P*CJN?E'CC'B@")QX
M-;&1H"L<ID(;MJ_$C__9I8P[>B/M+/"2,S/.*E-YIC:-?91QRD;,%0<"*I_,
M9V.$5N^?C#N*0\;%SI?-3.G^;F)D\Z-0UV&',FXC-E2B0F*6R+C<H1*$Q%M;
MQNV;[YN.Q?YVI6OAK2Q(0'8R/JY6VG\:+_W'G)[;S/O9N=WH[L+'SC%,%5*2
MJ0C-%_;=3]M"V^"W\]@]7-M5KV3M]%51CS/[PK4117 HU\;@[\BY9*JX' S]
MGMAV"S&& ,$?$E9>J WFRCMWWFO+O9/*&VF2FC6QV94<//XYNNCIZ0=;CGXE
MU^@3%C7,IN26A=G6* I8_[3C?EE((7;@%=OI1F-DZ\BJ1HM5TXA<G?[5N2L<
MJ3WE9KM,O6L]Y.[1IX9B<$DSJ60^$"#\>?UV47RTENL3VLBO:8V79WVWU?4M
M0":4UE1ULZY]W+D8#(N3PJ;Z:<.9JNOX0MY+FHZAAB4C)XMK=*[<>GO ;;QP
MA:8E[Z0=8L#%R*SIE\T*^M_BA?6<&89'LO;P8@368Z1C</WSF60VG_V\&''L
M=VFCR=W S[?U$@'&+V$L$*D+M23DH' 4MV29"8Z@5-))6FQFC/N2@3M%,J]R
M9%O/!KI44GLJ&8XSP5CP^5(J40&*EV7N;BOI.%$2C:OAR9%U\N?X-"0/(UF3
ML3-63> 29)4,X!G+;KRX_O!;CC:RV)CER_1)@UA:UR0S ?,1).I2 J@]P0CP
MU8^5^@:OQ\47HXG=Z:ND:QB<IGOHR"7H3),2\F,GP#[H[,=]=4Q_3M@$N,DT
M)^H F OG 21;'>-G^9DCZRF5LHUG%4K(EB1&XF64C/[X_)*:3FHW'<XH=7'=
MRYABP;JWP".QY7?SH=5\_^$<8IA(^$A#:-HTF (7(-MZ0.IYT&&.F);%-93\
MK,=@@<.E"FIHZBF,J^,1$O"\*T1#2S,ZZ&[!7WV"06'UE?&>_$6C?)8>G#X^
M%=Q4PKEGKTNVNIPS%NPQI'X3>$/9F$MB\(J59#X[;U8P03+N(Q^NUT]<=L:6
MH"C2AQ(H&2I.@7)^&4.JN>8;C6+"SB'W<1_BF6Y;<Y*C$$FMQ([ '![]>3W1
M'LN%&VTEM=(.J3C:4-]$2SV%<$DF!K=L'B0BD5)'S"6(#(G TTM%-0KB/;W"
M;?OER+R3G]HAKL-N3R]:Z"OL]&+P'1:?7C(1L:I[)Q;PKHQ?J82$_4"2L\G$
M:I8OV%92F&VE1+:M0.G"Q]2A-8$%=>>;/-2BW9Y41L[&"2&YNAZD2[].G'0Y
M)"*U)9,ZE3E &UD+*I*)P:3.I9/YW()VXC&9PH753>&X#[AHU'Y/IL5Z[T3>
ME2F\R=G&9 HO@@']!YLEHCDLKV@.)\+-X=PZYC Z\PPQA^,^_5^O@WI^>*K+
M]_K^F,/ 'YF-.24&<SB;+.:#YC[2_B>K:Q=B]6ZJ71*;:I?%;+G LHZ;_9[*
MU3_/K\7'['27 9OT)GR5C6-8108Y6NE0 12;>LFLK%YB/^%AYJ7<[KUVLG)N
M-^IEL\.-:E]O@*3_3V)3]1)SM"7-U4OLIW][=/SR+ ]+LW%W7]1+FJN7S3@E
M#BA<.IE-!34DIOJE%#";)3ADDL3RG<K'Q'P$)F2V4R5,ZF^Q'@R=\LG5PTL]
MI?1W*O(WP)YG8^@^'5KFM: A77:' 1/AA$[2.?DV?6&?IMJ[SJ*L?4+;+%()
MFB"U[<#%W@1&&OIHC F>H.9K7,&1])KF:R+(?(V8;TP5XU!O(L;[[N(QG1VF
M9ND_<AQ!CV($?10&SL[&,%Q;R23E3*CE<I@ MF&V*%(HMF[J+XAST%YK>MN>
MJ/942@MZRG \=HX2:N<$31V,:,<0"P;]BUHP2FKS?)'GB+/GK\:H]'R=OBYL
MQ1I!QZ[P/RW+_82>?FX%MV2NC$0.&NY,CWQ-(R0@#90.-D*4G1DAXJGFQG=F
MN53Z\[NK[,JX"#TZ>5NU0 DW)3-/=WF7UH5(^K_Z?3]=.)^U\]JNK(90TL>0
M3PDM:%DMG_)A+ :F"1(KPX@\]D)\L2W%[>M\11\&@TOI<Z[P8ZA]H+"VSEB-
MS++FW=_K],NH]\0-X:O%RUG8USGT[6%Q4(6U=<:JP<>Z:[=U5C)*,EN<]SN9
MM"!1)DFS7DPX#7RN(]70(I"Z++301E^GFN\*?=G?-SN5!ECG;RN3[_^=7FJW
M;OROXG_OXE[9WM<L;9"=2L\!,G,KN'=S^.1"=O[J,T)2>G4-VQE+3^A.H%L#
M9,.W F3R6#>CFT0";3G[T%A*7?AN,*%_E4NGI^VT;0\&0AB.\6[0&A92?=$"
MUCJ"%?PW'S.GDJEP5!.Q6)G8LI'%@N=BJ.B/W8FI>1P<*9VB DMU\"><R8 W
M)J815W6B&?QG5 "1#^)QO.2\Z;/;.I9JH]' T+4$$I3P.]%S7G"/Q##>E6UU
M=%US@)(5?60Y2)3>H2N*D<A >&,\@3VSDR\J>7KRQ72J-6L_/C=N;^I/VK$;
M@+UAA"!+7::%(Z\@[.B+!TJ>_2F=\AY]?FW#-9M.RH$@Z'EG98FCDH2C0TLW
M=;)]V)<.8I"8M(Q_0%-A[D$/6^S<9KY)Y, 36$$@YEHN.Z/!8^)Q<,3JL=FO
MPJQ\+-\_G.\V(!?%W0FK ,O'43Y?3">S2JBS^T.*I@<#XQ'9Q7HP;G]5/,[>
MQ:2;;2BGX_/!%E7JJGYKZ$&N;<7(2C:9*\X?G^CS",&'E53M.DGZ;9[I4:]A
MG-:ON]9I)B2-\B9YE'@X(([1CNF0.K'88Q@9 9P:"A#T<5-U5P$.D67NZU?U
MVN7=4>EFMYGU3>IZ\S%$\1<T,&N'I%GR.PR$B$?T:/^5Y:=JQ^PI>Y=G"3NB
M0AQ5G6&EUT&)EHCC86*8#+.CUVS_!5$GW/!!?1*?8?/1!M<LCE2=JU,)B7R
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
M.]%6*=1%?)8&Q=C (>DT*#X43U_N^OE2X<4? ?%#USB'-"CFV:\&Q8]6F)]
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
MZA6=V7Y0H?=RHHNA? +8N\CB8G/Y3)8)ET"I.B=;7I@N'QH]J22<C;.=_O!
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
MG0W^!T2Y3&5K5[3VP\&D8WN#\"XH?5&%^2@BL8W@$Y1,Y#PL$$\A=?Q5MYO
ME$7F ;DB7 IHS5"M7%LS6HW]FE^WO1XI7*S%50,F!4Q7\RPIH_H&]"]RT"2<
MCS2^E#$#="8W.79-$ +P5"';L1KS8!0!&4C ID"LH*_Q$\4A1+VL4)4'XT(P
M$MF$4_2LB3Q <@!"D::CB(-F:RY?QC4C%N?O>2@_%I%)HYG1,* O_9ZQ#:+;
MH(C%C>52XE ?LXG_0B;-BL@P$A7?I^*[47'$=(J-83(Z%-LN>C46X1NT,KS<
M]?W;6!#DC:3*%#]'=H^"8[$:GAH+IJU@';4U(9@0.IP;,"4R(B#FBRX;=B61
M_+O.MB:#'M,M68,%FN>HLX,PDLVK][F@]2"FOE0-Q[PQ'\)AZ+=G4)M-Y%DR
MG=AWQ-57[+R*#XN</JD<T\8ZBV<H@ZAQB%IG+SR9%:@4<S 6] .L)9!XL<P(
MG7W,8'G?MD-#N-J8V2%1\]ER)4&#TXA",[C"V:54TU7?I^2&AKI/]C=-O VZ
M\L:+$LZJ@)0@?_S<)H4N-:QZQI%Q-$0$$S&M9B@D<-$[9H*"?3DR6Q>L2!)P
M<OX%G#CS#P,PSB 4!B0$,@;)4Y! 1)X;GP)G!VD 4'2Z[/?Y V5[..;Z^=3G
MNT"_GN:*(\@7315;TA\[B+)"@=+GT5, RA.FO-T+1!J@Q0C*&TZ"D1'1Z*L>
M-4SQ8R(MK)/;0T*Z)N4V9 53]Y/8M-<PB?V+6>'JCKM46#->H1,][R!Z?/^I
M!2E"%AV]0(F+BI>^953!S]#!V)Y&G(?',IM(=8OF#/O)*>TIHG2:0Z(OL#[0
MTXL9T'A]>*(D@?EFU_8J>HPAXG%*4L2L.A1$T]);,\Y,^0T: 8+)Z(Y'D& S
M;YHR;]I+)Z4FXZ-62Q7+[=<B,U'S#>8P1UMS?I51M:?5:J4P;.<Y)VGY_UAE
M5#'!RJCBTVH\%1]6+[WERTGIJS+JJS)J_Y51W--*NBIG5]PJUQNS.ZZ,0B]_
MO^-NWF\[[=Z]F$YRW-,*W<6@:_QJHF#U9$7Z=O N L$^=C92WD@U&QEI,S/@
M-+D-;\R(>#1OVJH5\B#A/!X7WFND^PAI^HD@:/;8 _&-X97@@T/,>4@F3-D&
M<=(:DJD:#OY8M@#X?=@0L<)^E@\9N,S6E6V=Q[1G"M/F_?*JGK"TPID]6:_]
M=^;?];_:LQ^0YG;D-X]U*TU?&XX(V$)H1E;<C(U1-G^;5X/"@O D,YSWMQEL
MR=!C>2&\"4K&%G81]!R-._2E&XJ.\Z-LE6<2Q!/18_12.PBX(")[05=JAJ!X
M_<E.?\2,PSA,5;W ;J /N"/FGA&<,L)E$)BTKP=OU.VO,$GX*UTX]/80_^S9
M _9D:X8D4](&Z  '71GRJF;I$-@@)'%K?KRN>VQXV^2[1I96:B\?QP]GA=?F
MB^GV.%*S7H>4L9^.X[:^12^YLAP78Z%/ONMTN3;%M2*L),[\V[^(S"@DR 7$
M"4R6-"ZN593IWL]WALG^:58U$O(#TAF"F"(MCZ(Q5YUD)A'!( EELAJI035]
MZ<58AGI3E?Y.7)@!Q.W@4Q3Z[8] !YE<%SZS.QFB7M<XV+@S$OIUDQNU\P_:
MQ:L%'486HH<]=T,4)3=1^)S+MW\GR#:FL!C1[Q#S.XY%()G?PP53;V0#,R2\
ML.<(941]":IFL<O;YV<B?![3OA^-K,5$D'2:(2HDL4_DA*KB0+3RGI3^0:04
M0)5A02-/)8> AO2!$8]!'T,>JUY!3?0&/QHI F2/O(6C._V/MOMFY,GDJ0!1
M&S@;\OKOIC0?&!/>-:3?32'PPZ9B=3ENQDBP>!85J!J K^"J8HO6!W.%E U
MH;&$=#.O8)8QBHP-'EQK;6.LUK:*L=,&VN@EWB>TLPKM87NNV&Z^)6MU_+2
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
M)5NAA.X5):+PM.+E5;<W?^_<#_([;8?V6Q+WM&J?+SOWA<M[[:6?PI+"%A.
M6%'*^B%6E)]6TZ'4J)2EUZO'XG\,L:*<(&)%Z6DE2\SUXU(]ZU]*7X@57X@5
MNT*L" *LF _>SI^G.?'A_3"$9.5IE1OVKJ:7P^KK[>"CPUC8C4(9LL,*4N(L
MIU]W>E6!L<L!S=H(*H%R0/_.?,],:S;'<NGXO\QE;S&]N"HWN/)^JOF01YT[
M0KN+X4<7XN%4!L)!1 +J#K84P6,@KA/E%=/S3[J'QO32(PNIK-QGA[<7;VP
M6>P"I"$)\DAY.A!M3I4V/=,=-S  (11)I&QSDM#/,?T&AI>3YYO*I7QSIAYH
M32:AM>(ZU44\HDT:& H;(,B[<>.SNZG%I!+!C?_8F< UF\$,S7B<+]1@&A%4
ME82*[+)@(9(H5<;=SV<-A%<%:$Q5B*9U-6(JS@;8NMFSZ142\C"7?M!DRC?2
M1-"U*WO4C^$EZ\%;U3;I'4?V^NB%BF\U)HZ#Z@$=)/!T?6=*1EJ"2"\.-\&1
MX Y:=V!QH_"+,?U;#[JI>N^JP_[ZP+37GM(M^8U<#VF?R>VHS32JH4R%&\H)
M]<VX%)5)";[BV#;^(<<PV9*>0V*R&W8K1#66Q-<'B6T)T[DX<(]_J*^/?_#2
M;H@NHDZ B+Q_'Q7',$?9DOE3.99A%6\(!)X=$@;#!G;W9O9VQF9P>UI;_BG(
M\"1Z:C3TWLA7RK=+9CX?[=O@CD\7V\U"B&QP4[$-[CBM4#L3*R5%G)SUF?-J
MNW"H]G*"PJ08U8E?,XC9\$%*/JCMIHK%UD\DNT-&%@XT&P1IXRE=?T?J#'E'
MEL:S&F-,I8IM:J.HD.9-")$U'9BW4:MW(?[&-!C1HUDATV7&K]2*\,NJFK7
M3D+F%AFT%J4LW4X^T1;G(I]X)63>@Z;7=5'4@$^@Q,$O=>&(I7:#5P/IG%G^
MGIS6!,LXP29Y) @Q:ZVIW=QV8RRVT!86XP?:!'9RQ3M/P R(>EO*R<ME41J)
MMP,[2B]8,K +>]?3)DSGV$5J][B=-1@9[,U] $[_TP9AM.97$B>;"&1H)?,(
MQIOW! \SI+?N1\2]]4;HK2^N?BGUZ<G)1<.Z=5.%!,M8XAFLKSKZ+8<MSW7+
M\>9<!<M9!]B4I1W7Q&\CV/XG]4GN$2)K0_>\Q'1N)W(@G")*UR+SNRP*[X7>
M_N7 9A3";9>-L<N!XC$;70Z0$I[-:(00QUB0!J3*2444)PGV&L /'#OJVBU;
MGS E[0A34OL*4ZZOD_*/5Y[-IX(!NI9//%9).V.5U(:QRFWBDRJ)U <_FUI_
M=G^._C'5I*55@VDMWJ\:\V/3LPT5 '<E>1./S=W"1(ZYW%4V;R/U_Z=:PL*G
MVPO=264^0BNA]1@YN3(C7FGU^-.*(/$X:*H'/0GM47:!Y'Z'(F R'7@1B;%B
M!_*C@TWQWF0?'M1S,Q8O4(Y/!.0 HC#'9H%\V\8IIX;F/>"8MY]9@-0QLR%X
MVUJ@HN&CCL_RU==3]>'V_OD HG-,UC?0XKE^EWZ.GPX/TL\6J>!QO0 !HLXE
MI$UD6TJ#R=KP(,R)*^L]+MY49%3@DJ +A8,NZQ$7#%IIYB$LH!#;X_T?K3\-
M+TCT]!C"(C)ID2(S'SV^5[,GKP],VA&9F'06;SQEH*?@9>ZYA SV]$"2O0+^
MAU>]NI_N=M"M086!!I5.N!XTF'&85D:T#Q&DQF,$XJAQB"0)RR?<W'@0'MN=
MUYFP3[J*$"CFXF6=N*"L4P3J,&_[@&3"[T>9:5P]:]/3 Q<)*08/ D6"8ZHH
MI#HD21A\<),XT=(4W"/T86I3!E^U*9\0?2IL]'EL]*FH0?C6^_FO83/_P#.Y
MK<%OPJ"TDD&?BKJC7T+I7.U.KBO%PP&?VB;'4(I7Z9TZ^-16>XJ7N608'X-F
M<_2I,-"2V.A34<GUK+FXNZ\M7AO+[=&GPC:3#/I4U!TMN5I7NBR<-Z?[A']C
M$Z#6>%Y=ZNA36^TIGD>Q.?-M6$^P<^2ICVN;;(%I%9@H^A205FTSB,V&EQ*G
MTW.7039Z'[U$U/"+#@&.WY62W:RL.,O!G!#\4RG+/JUNWO+CT?A^^7+7=Y<
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
M-O"NKNX3@?\^$)\A=R,"\.HD.5L%_?=)T"^^_;OYI$Z$[_%;* -F\@3^AI-
MKO'*M",)%RD$9UGYYP?S8_[S1W4>[TU:;'Y,[WJT=IW$@GQ0)S@)OD?U?WD+
M[U_*/*_S>05QZNSP_LZ]S"'978S6=]$V;I3^<CS"?P,ZJB3E%,7PN#@G+HWP
M.PGLBQ'/V2D %Y(4?;U+C'RC#S;?_'0Y?:%</SF?\Y."^_Y:K>F%/%QJ354:
MWC.X?SL_%XT_2'"?.">X?ROT/J%91>\3GH_=*CROULKS4;@]CZ#\^?'Y&T@&
MY^<015_%Q6M?Y'D!+ L@CHN+CBH!' TXK(:K?:"?X42T9)'1>.&KF1,!'Y'>
M 0?+G.#\P>Q0ICWC-(ZC)6'/FRAL7GJ=[7!K768/.KYJ+9=Y4=9)BP#IR:!;
M>]D'M0"L/1C]KURO]V)R.6A&^#FJQ($+IWV5U],/UZC']-PD.9YTO7LHCQ"6
M?V"_-^7=S8JXS##?MB)0MYG.)XC!E1J_-\7>\Z7^)0CLQ4"N4,H/(_@AI=RU
M][8/C(82"PF1G"R&1S)W/!A03M[SJ084@_IM0%UP5\<-J).NNC]\P9,X]^=.
MMZT];&?.P?44QM/]>")!Z$R/\F#DW56&>[3W&'S?WOLLY+U;Q.E!G'E_GO_S
M_&<__QD>FKL$?#^Y.N%@9;9CF//U\D>)2<G6-*O2^5/!W/V*GR\6<?+?2\-<
ME^QU2;CVL4*Q\<\KMO:5"F9X*U#F)J-VV7.%PK<CCWNY4ICK$\2^7T#6%Q?$
M7F+$=XCA=O!0*QN60NB<_1XQ7&:_3_BCQ7"_ "'=)N+EL0K;5]G3[(CY0#F"
MDG$O'H#SI8YW2SZ(>K+D'\8(_^129.H.I<B^8EIVI?3+M0K:B$CGER(_2ETQ
ML6;,A%?&3%($BE/D-AL.7M8:9AUAI8@7#*,?.$W=G\"GSW7%ON)SKQ.8M0?-
M)-\ZDMYU=EWQHQ<)^T8 EQFOV[V1<(\AS8?1&[QG1$8_O^+75VH9]4HHR864
M>AV[6\7O-;CJ29D.4I]=^$N0CY *^1TJ?J[+UA/X=W^+?R_0"/>2J/VI6 W)
M?&PQ%LWQ6&ZEOK[R":J0T.K8,#/A@X>2\P"L/=4[WJ^HUQU$MY6?U]7J8"\4
MZK&QX,/4^?K9\.SDY=U7EV1"[3*KZ-DE<T:/FC/)X9.IX9,T31Q%KR_!P0)O
M5U7%?Q\1^\6W_R@UP<2-DIT<72YNE.CDI]OI8,&PK[RU.HLTT01'H[MN)P_U
MPOZ ]MX]*(^$FCVSTAT>>IV["GLA&/J%ILE+,Y / _\SLPQ]+ ?XE+[A-R"V
M>K_5S _H6DJA_*@J?G1*.SMJ?2G]7>\M(]]PXLM5Y-PB??^R3-3':T3NKS,[
M@E-5:=J?]SOWC'/?V$,'"(=ZD'#WX0Y]WXT"_>DHZT]%M*\TPE&C/!]M3GB8
M0W%-1?1-4^(!SC/GI,1_7L;[;>JC?36M_+:>T)O61XLI$^FO1_5@G*C.^3R#
MIGO?O43Z0HT,NVX4$LD FPAW2R/\UX@#/QMD>*V ]H]")HU5OU6+J].QY_9)
M7Y-T[F7B8-</2R+?"(\QC2]-4;<W<?8TM4^J)O95?5,Y*IW.=:OYV!'7A/_5
MQ#<W<3#?1RY=5%2,O3'_&A/GN))'?T(ML _TL<P0%,&&.A+EQ;SQ4Y1YM&LP
MZOYVS;L.3_A[%[.?_CNV7P>'TL*2"+!Z51P)&I(7YDA9&;'RB_F'%Z0"OM/]
MA8Q8M2>"%Z(GWC_^_723]:M] >FRHFH;J%U$[\.+A;-VQ9D 7@AP E$,I##3
MK+0GP(&,IPS>!XU8P"OW+"X$F+E&X2,R%U2 &N!]@&V!)Z<:Y*3P^UU%DI0Y
M_&UN<937-<]E-6TZ,M']Y^U.;ZWLE5_KRH9C_P!'XM@QY# JG.FUQ7WWZRFX
MOL!/):'0=5>Q'*2G05(V.<(&!E6(<56PJ[ $'@0;-U 0X01)&K,\]"<8@[W@
M[X (./MWF_\PVQU*?=W,QRJDALJM4(R/RW"N\W0$H+XTWOL3B8H:)RG:%&#
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
M$;E?"&0$)FSR"H0'L) =WWJWOP8_VC5]-W8O )\K(+&/5:(VZI,M.1TLB!M
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
M[D<$& \0&]C!)O,!]B,@+" ND?%4Y8"U+:PCE ;#>C*P>V1P- T!? $W3#?
M>,!1#9KAH6L-VI\LC"4#LU?4G)2"B*.1P(O@(6#!ZGU5F?9,3@99O6H3GO$"
M$; \<S45<"/#EXATEH8AVP'\7YEOG@?&.#N5= OO7^!A>--X0BS>!??] EU^
M"J(9X9 -/P9,=<T_MT  ;%B;RF&&O)VPYD+"@2VCL:.G9 TH-7#'D<W1-[GV
M1D (VPZRK8;19+J;P8@IO_'.1W9>?MIB]/CN8]&H'=R\OM\2^H:B;G7#!F8^
M@=O=!6=LJT)AG0,?%6<B+\B\9B[L3MY"-TJUVQ-LZ<B9C3AO5;-V=2)/\.!K
M+R/QP'5)K:3!(X_R2?-<IEKA0%H+S0VZY0 IBP)4K "*B);58BH30!A(4]Y2
M6JSHC[V$I<^ (T,2!$K:7)E*T/W""4!1";P%@VL?T1;].%-SG-3FW*/)%';%
M)^ 9VK0S &H*?+FQ"*L"O5#6Q5=>E SW"?S23(0;U+ZXTG&<[R+@6BV-P_!:
M/0%0[A),V*%"6-\O=)W5(]9:[B23X!5N0*2#0FTS@LU>!E[<UO[L;1U7+HYM
MXD("NFYNI0<"LH^Y+QX,22#O92Z?$ 36>;>R %(RIPH ,.X7,<4P+%YO%BAQ
MDRH4VWKI*;9U[)T7POWZV8R _[MU)3&A/@;@-4!N<H4MK#^+!SSM?1V:,8Z8
M'MB<+DK0<H'$9#C/'2[SM0(#]2-8Q6GJ'E"#D15+.]'[K&Q]OR, H BF601-
M-.CV%R'#9-7EDVT^.%<RC^?T_Z_12=_:.$0UH.4 +N+P\(.-OAH;=;X'<7L/
MW!]K>,$E8+0\=5@-,%/1>% U&"LXC=#M0NMY!J/]/1'( M-ZUNPHZR9" I<'
M=PAU.>ME%H8AYN7"[8Y58<:*T)L.N=U0T$U4U2QE#>D#DPDP?>-^UF<V5W.R
MN6V>WS&<WH;QJLQE<-Z^.#:%DT&:IM Q11>$90>&<TTTY[??BTS'<+V@\056
M>]K1"ZW7(V]( L##BEP8$#?/9XI, P=V,T^M!XV;LH#CM)#-D(_U$(0GC#9U
M65$UO_XD0AT5&8DR.)2V[6R 42[3R\#!\#._@R% 4'*BX0<Q;*.=%W]Q8>@2
MYV&1'BL:A&<CXMI,WX_?.#EP GPMJVA:088N0<WV"89DWO@A!=XDJH:F#"Z[
M!S3*(_9VM!QD&NEH3G%TXZXXMW.*-9^[F0O9M5=3\IA%3AX5E"^VRJC96J-!
M30KD,/ ORDCXXCAXR%8&)^X(1N"8X]2I<6Q=>1+A1'B@45MG-VC=)$J8-.70
MO^\%%7!M0#>'%^-TD>,$\;'*9ANRK'3#1?T&+O#-)@S4L?=P9$>1CU5D$>\N
MTYG<:D)\VI;^[_45B8N"Q/]$BFQ/^ 56GTP%(%%_(@R)O+Y:&5:\.'/L/?2Q
MFL_C4B2NI=/CH>>*=7/'Z\\IF,OU7R-/!X&=(ZQ\'X,JX>^ XCC[=P=T7C7
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
M+M,A-!C+E?K1?G?9F3&SVD01B1;0L:,UI=Y9!'K=7E#H)Z@N&V,+8AKCY8!
MY#)=1B;)^:1.!@ILDLN^+].9>I]-C#-SK%Q;8=6)F"Y,]%%8KKQ'5H,2WRN@
MF5YQ$%V&\G(\\5XK\!.\BD:'>)N:/^/1RJPS: ;8Y#1/I#O/ Y:7U5JI&WEO
M)B>)=I4;C!NQ>"#%UOAHL"NTQVBPP/ 4JQ<:>KB]D*K50C"F3^,IGA@/N"'-
M%M(=-!WK-D:#:DK)5R2B%V\P>(MIAL=\3.[*02+7[9?:8EJ9MBHX2_9KS<F"
M3V2*HV!,:@ *Y/E845WF&#*]G)-T*I.HM+%RO"9RSTM*K>>>@1+3PS-T7BSV
M*.R]Q#89.<QF4\5&ATMQA51JV1>8;CO499@<TVCU!EKN?1%I:I@(U,9:&4_H
MR5II3C>K^4%F'./"[5*%I&KMVGB$M^5HK9R;Q.?MB-SM!)A!\WDZXMKOX\;H
M7<PRV2F03"LM3 ZYC+ (L7'U77A'<['>M(+'\&XI\][%@B6UIK8'7(F?+:F^
M,"M%YN-LBATMQA6%J@A1KCU;9-16+?\N%*04D0Q%WA.I6 PH 6@52^;'7;;<
MG$25#L8DNH'&DI:4R;*,%U+S96/>D*4N21:[R4)G.)K%*1I['RXK$C>C:;G/
M9B>*F@W7WJ?U63\?"HSYGHCC98RL\E4JQ-87":$)A%:E6%\,B4&9S*'U>%_M
M)U*S9;"V*C%Z(H:6(_59;!&>T&TTC<W31$338X+:S=-294+VBDF4KF=C9;0P
MB61(LB:]*UBQOHPE1N4)-2Q-L"+54(:==FD55AE&"Q3CJVR9T:*9&=O.X-$!
MFAQUI1[9T$=#M)GG0JOZHK#$5B%TEIH.\&YGP@1TY9G#JBQ.3V@@H,H90D/+
M^"+9;4?Y+)#,8YH'=E ]*#7JE6=&C;-"',\W.BJ&Y]F,WN*>!33;X7!U7HP#
M8M3#S2Z?J1*%5/D]'NFWGU.9CLP]5]0Q!\#=I")2:1#XGVEIO7<4?@G_W=='
MTN__#U!+ P04    " #0@X%8&\1B;SL"   H"0  "@   &5X,C-X,2YH=&WM
M5EMOVC 4?D?B/QPQJ5JE<$O&9<"0N(2V$FT109IX-(X3/"4^D6/4\N][DD#'
MUCU4$SQT6A[B<^S/W_'G<YQX<+NZGP_+I<&M.YI2"]DS6-VMYNYP4"]:&JT?
MA@?CQ^D:O-5Z[GZK!*A,#YJ-Q,!*QB*%!_$$2XR9LHH."SRA95"AB31U<9QG
MQ+.ILDB&J@=:AEO3AYCI4*JJP:0'C5=W@\9@3#V5H?N\E1MIP'9JS4%]\1MC
M@<^!5VJ3)OV_@KQ7SW%]^5)/Q7"AC-#_0H )JI1,P #NE"\202]RER*4*0&$
M#XO=)I(<1ISC3AFIPG)I)G7\D45_W  _=JF1P;XR_"Y@2^G9[($?,F@0S%:
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
MZMT\@%7IG;[B)3]Z%_ /4$L#!!0    ( -"#@5@=.(KU,00  $42   *
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
M/(3SW1[*L0ZG;Q^:,3V;ZO^HM^+G25;0X"G^10V)LSPR_R'C_=YI__%T/+6
MJ#L_(5D[D9"^'R>!C'PE[G0V$ME(-1MR,@FU+P>A$DD>PN#Q4/1'2ES*-)!_
MB5X6^Y_$>YE\4IG8A!;BL'/T(@S^RN,#X%WS5!=;(F>^2.B;+4\<[G:.9!3
MS/U,QQ&8A); ]_@HOMG>QY&P0W@B3W2F5=ILM._]D8QNE#CV,_Q^_]=7KSTA
M4R''"M83U$S!;>).06R6SY2#SD\2.SR)91+@>"V=P'SC!*8R/Q(]51D"VV.K
M/$Y%7_FC* [C&UB(>)?$^01T:N3OU$SY-!Y/9#2=ZVJ$"PWB208+S48Z%=<Q
M[,VT;B[\S5P/62PF27RK P6<GA!Y84'QK4JFN#R5)"! <9Z&4R'O8#4P$,P1
M^$3?JNT!B&D@<'(J2B7MVC")QZ)]#SN$3S0;5\.A]E62[HCC,!2^G.@,F.\_
M.%^5C%.18P^XS5$,^P?#)W<Z52)00QW!-_!>Z4BD(PFM1_)6T0S'2D8ZNDE%
M"CP&TP;6A(<*QCGWQ$"%\=W.&BJJDW505/7JZG&F\EE4VN;^UE=-7DM2T+W(
MY^H69H]B*"-05GZ<@]A%-Z*KTDQF"A1<YM%S1CV D@8I291,XPCT\Q0E>SS)
MX(41:7JX[8CTL1'IB@AWE:] =H-F0]>: .'J\%D5#0II&(<@?>E;N\G]XY.+
MMCAM7UQ<'[=:G<MWOVWL;=#[WO7Q:?'^CTZK?_[;QO[>WO]M_%VNV,[B">RV
M?3N(LRP><P\@?_UNT3$0(P,C%A9L ^TPP#CLMXHG[G20C: E">YNOW4T_UW!
M57IK]H$:C@0G9 @J;Y6MM#L!;\8ZRY02FWHH?/@J1G6)VC=1(2EHY/")(C87
M06&+O&8#=+EF)I*#5.'VP<-I[H^$Q(ZX6S"40*D_8S"FBSL#)9O<XEQC[H^,
MVE:]D>)N72.#+-TY8OT=*-3YH-=Y7F,D G/W='6N%(.I4!+688V,,#:&6)%'
MLHP/5@5H3PW05YAM02PMQ5V"\X[H::"4#UPG-5J8OS-1G(6$M8[Q!=K41$WD
M=$R2C&^R/(E@?\QN^$Y3]ENL>[7#7+7;[^(_*$/?@#BQR"P7*+FSDCR= 3F7
M^B+\$;S8A"<#6!BR#SHH6Z[6?)&DR*G Y^2Y3A)D 72%8O!4D)\2-8I#:-YL
M\.9YX@[=DAG>>) OP#M#'R?-!W^"8$'W0%7H OY!RJ&*EJ&?A_PP2Q]T1?X4
MCJ0C]!/H6U+,-'KIBM?KE+??( N]?)B!]&H,U"\W$'9CH$A2=5"*J2KTR4"5
MRHLTD.$?HYTMH\G2^H+UAF%@PQ0).YGSX5!QE(+OZG>LT+*/94XS8_!*H8.[
MD?;95,_(1[-18<D[T#>%7CU Q;6 769PL45[NK=1 @W_V-X69UJ%P5MQ+6_
M1^ZIOW*T0[#U8GO;@(2'K<[O,WT7G;U!SVX OH=*[&<GH00B[ /OI1#-!,@_
M*S&RZ^ZQ"X=XXX$HE!(R./+B(HYA[&7V>6>)Q>(.1'\Z@>Z/$SG0_@%X2F/%
M!+B,<=7[;J/=HA5^\^*?^V_V#N;I?[@+)*JAU@ 8[=/V0(%2@!$F1&)W=]ZP
M>#V&//\3-5::O[MX) HSPJ,8;#EBNWK#;UT#/D(%%M$#J[HQ>#[H_8@@]G/4
M2*PJC-(JM*#]D)R8&J5';I!!%IH-AA5"=2O1LZQT#"HH 3D >Q>@%N;8XIMT
M?5:))%8,)?H5\^.@(X%.?; $2%@@YHS#/8']  N"NX,("B%W)C)$*U3CP<S8
M"VOGL+N)Q(6#PY*(H?0SC@1]G<#F@C4#M9;NB,LX0Q<;WP>%.XT:ZR:&=YY0
M][Z"#9$+@)R3S9=;#.5XY/)$L8F(QW):B7LA2*5^(FO.1S)#APL"U!3?1(]V
MUB*!KU)<F>%TZ&0>U[+V.1[ %E';E$"K'**HY/MEXU7Y.&;'Z#Y3Q:X11#$7
MJ!'0&8*>"1#,T.-!GJ2$>99,@*'6@@!MAHUM*$F;1(V"G#QI&K/$/YT]10\-
MWJ:CBO]' ^.XI2,>RCM/Z*QT'!VQ:S:*21JU:1=2<4-!@@.=L3Y\)-\6C.]$
M&78YO%J$B9L-1H._6_Z\_=OLZ6H!RYU#J<.4:0VAOL"-?WBG8I>)F@V(*<'F
MYJJ*Z#$79?*3HEY9&Z6NP26XP='LY8XSDSTX$1MAEDQ< Y7L4(['X?-Y*EB.
M=^VYY?%:6:7)0R-UC_-1J0M>ZLC/DP2%=Q->ACD9D%#=0-PS5"K=FA5#4-F.
M,5MM[0L 3CT>@P0"-0E#!6V!8S<;*3J^\. BL?G"8/;+-0&S9YT V"Q00O#"
M)'>,)"#JELAD6B< ")S,,!;)!+&MD0ELK\:34&:LHHT7T6R<;.YO"3D SA!Z
M.!.Y;U*H3,!;.E&^'FI4QOBLAVIT=<A5K :X-AM5Q)61G=515^O1I:R.K'*_
MB_,P0!KI\21!DK"4'G).E7.K=D1&Z(FGL[L8*0?VAH@H$_0-LQ_8_5*'&[T1
M!P^R?@OO7JG-"$T"7I5H=9. 7.8I?9"F.LV0813">K[QC0N[;'83W6/CY,S
M5+3I*M@1)P0  ,D^<1<ZK89H56$:PW+P654%JF2&@N,Z"QRQ/:0^/1O*(5!&
MK,X];8)V=N(_\V4U[K.QW@&(SO?JAZS(?=VJE(?Z$ZHB7^8IVG\G;9[)^^V_
M<FA.>@P#P81115"+L'+V !D='*A(#77&(C](8AF$X(7(6W!EB"E@?U";QE/%
M)1X.'WGX)?H\!&(KE9FR 5+..!PU***XUWO[FW)K<__5%NI(^^D^?EITW$%$
M*0++WL4 +U?HL >*ZSE^>>/6<WC$6!!!&J0<]>!#X=;7DOY? 1M]^?UBHR]_
M8*/+L=&OOGCE='V+5UJ=WNG%5>]#MRVZ[7]_Z'3;[]N7_=XSU:G,H[)#C5$9
M)=%UZH=QFB<P-@4L\&)B0GVG!*STE<$5=L*V#SN]':> CK2I+8@C#P=<$]#/
MAR='X#L6%7&]]FFE:@PS_# EK,&"6:%"QEJ0=2RX:JT#S\YRZW7WZKQSTL%*
M*JRVZERVVN\O.V>=T^<LKIIG6H[:FHT)^J.9 ;1TA+S+X5*@QA&69Q!L-U_.
M<2/AX4R CTY. G!]NG(51@&$<4K7LPE=JHRQ#K28Y$F:RR@K@E N2B2OQ(J2
MAY-%7XU&]D.IQ]@O^A_H<U=P'(L'LU]O4KH0,X)/1*<44G;"T,&V ^R(LSQ!
M-V91Z$M&!>B%D0.B)C>)XIYIE>H>?>Z4OEI:#U'0Y :$($-7"DE#!"E*.VF
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
MYQ[^2=9TG6@"Y]GU^2:6A('B"COT69?TM.R[B[]]R3^&B;^9^5]02P,$%
M  @ T(.!6 G)5"MA00  4T8   T   !I;6%G95\P,#(N:G!G[+MG7%-?VRX8
M!$5$0*0C10$!J=([49 F?ZITA*B(E-!K@$ 4I3<! 0$A(B!2H[300T=$>I-.
M DB'A!(""<GA>6?.S)QWSN\\[\RG^3!W]OZ2O?9>]W6W==WKMS?E#V49<..Q
MKH$N@(J*"@"Y^ $H<P!M /6E2_\Z+H3FXKA\]?)E&IK+UVAIKUR]?NWZ=?IK
M]/0,C#=O,# R,]+3WV"_P<S"RL;&=IV)@Y.=E?,F*QOKOQY"17UQ#\UENLN7
MZ5@9Z!E8_Q\+I1W ?!6@?4F*FDH <(F9BIJ9BM(-X < J"Y3_8< _G>ANG2A
MXQ7:JW37Z"\&U-T 7**BIKY$0_TOK2^NAE]<!] P7[YY1^;A%1:SY[0"OJRR
M;U(+K@IJ_>A@,Q_%"LF]\(NDN\;.P<G%?5=81/2>F+R"HI*RBJKV(QU=/7V#
MQT\L+*VL;6SMG%XZOW)Q=7/W#P@,"H:$A+Y]%Q4=$QL7GY;^(2,SZV-VSI?"
MHN*O)=]*RZIK:NOJD0V-39U=W3V]?3_[?XV-3TQ.3?^9F45C5E;7_JYO;&[A
M#@Z/CO$GA-.S?^&B E!3_7?YG^)BOL!UB8:&FH;V7[BH+@7_:P SS>4[,E=N
M/C2C?>[+(B#[YBJK5FK!CPXZ03ES+-L+O]%K[$+RZ+NX?T'[#V3_-6"1_Z^0
M_1_ _D]<LX#KU%07SJ-F!@ !>Q$RY X8.RD89]^3+S!6ER?%(/=DPKFI/MGP
MU"Q3407PNH%VMF&?$$0!]*+.F-SX";*Y%$!<94H2O'I_EPZ3DK!X?Y*DGO-^
M9#]0I:3ZX'C_'O2K1Q7+[UNZ:B\:$ 0G"F VF-A40F:%G5>C'A7&YA2S'7^3
MY# AB'18%=":FVP=AIY0 *]#D'V(-VTJYWD*DL)]/=RU_H.EG8?M'M)"/FPV
MU,VWG=(=K<\;OU$ (UK;9 H 29B&X;K0)MVPJ-#H+$\<QZ[ UIY(VOBN:LSL
M4/L##]X^;V5,*QC/0F#Z GTTW?)P!<[9B>2[@87RNV?./OS0\%%<DR?8PE)"
MS\]:W;KN.-:TDQB:9HZTG':0/.63GERS9]NYU]/7?S2.^.N#HJ< 7L$3* #V
MH]$RU[/PM?Q8772Y^W3TV!]$6<VG[R> E-"C6[ _*;T<LO2!A+KEM^$CLU(M
M@[>]_V$\7H/S ]V\V:&A.+;?T].'?R!N/%_AG^?TS6<7F3LC"Z,]J-)@UZ\=
M:!2.?7![L27E9J3=+SXWB43,QV<\E50:X&P,07IW]HVUJ9['M:E"^$W"CK^G
M=RN**G')JQWZ$/5@TG=2EAD@$:U?"<C.\I>!Y>%.!D0/7;!W?=P+V<\OBC\H
MRLI>19B??Z( P,-<)*KI2@O0_';$31?ZX"\.CQT>A<_>]%]KX$GT\8T47Z
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
MXNNI)>[\S[0__"5"@P##RJTP=:70;D;PC+8);YANXID]'I!Y&7\;2/S^_7)
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
MZ65$O";O=L[T&T]U!4]O&,*.H$.]M%G\CY75:2RG\+4(:S>J.S8N:UYYIQ1
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
MYZ0K3IH__2E?/67)AHG>YS]S:2S:$WP#2#;0&]O_OPD 4$L! A0#%     @
MT(.!6$:>@_7H%   2?,  !$              ( !     &1U;W0M,C R,S$R
M,S$N>'-D4$L! A0#%     @ T(.!6 'U )4(%@  %0\! !4
M ( !%Q4  &1U;W0M,C R,S$R,S%?8V%L+GAM;%!+ 0(4 Q0    ( -"#@5A)
M2Z8X:#P  -8(!  5              "  5(K  !D=6]T+3(P,C,Q,C,Q7V1E
M9BYX;6Q02P$"% ,4    " #0@X%84/6'CI5X  !>[08 %0
M@ 'M9P  9'5O="TR,#(S,3(S,5]L86(N>&UL4$L! A0#%     @ T(.!6(;S
M4L2D70  SAL& !4              ( !M>   &1U;W0M,C R,S$R,S%?<')E
M+GAM;%!+ 0(4 Q0    ( -"#@5@4E<7W2=D" *T(&P 3              "
M 8P^ 0!D=6]T7S$P:RTQ,C,Q,C,N:'1M4$L! A0#%     @ T(.!6!O$8F\[
M @  * D   H              ( !!A@$ &5X,C-X,2YH=&U02P$"% ,4
M" #0@X%8%.J6Y7@'  #W)P  "@              @ %I&@0 97@S,7@Q+FAT
M;5!+ 0(4 Q0    ( -"#@5C]]@3+= <  !(H   *              "  0DB
M! !E>#,Q>#(N:'1M4$L! A0#%     @ T(.!6!TXBO4Q!   11(   H
M         ( !I2D$ &5X,S)X,2YH=&U02P$"% ,4    " #0@X%8ZU8U\"L$
M  #R$0  "@              @ '^+00 97@S,G@R+FAT;5!+ 0(4 Q0    (
M -"#@5B"#(PC)Q4  #IS   (              "  5$R! !E>#DW+FAT;5!+
M 0(4 Q0    ( -"#@5@)R50K84$  %-&   -              "  9Y'! !I
B;6%G95\P,#(N:G!G4$L%!@     -  T %0,  "J)!     $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>duot_10k-123123_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:duot="http://duostechnologies/20231231"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="duot-20231231.xsd" xlink:type="simple"/>
    <context id="From2023-01-01to2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-03-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2024-03-28</instant>
        </period>
    </context>
    <context id="From2023-10-012023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesBPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesBPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesFPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesFPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_ServiceOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_ServiceOtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_PreferredStockBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_PreferredStockCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_PreferredStockDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_PreferredStockEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_PreferredStockFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_PreferredStockBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_PreferredStockCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_PreferredStockDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_PreferredStockEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_PreferredStockFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_PreferredStockBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_PreferredStockCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_PreferredStockDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_PreferredStockEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_PreferredStockFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_PreferredStockBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_PreferredStockCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_PreferredStockDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_PreferredStockEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_PreferredStockFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_PreferredStockBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_PreferredStockCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_PreferredStockDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_PreferredStockEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_PreferredStockFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">duot:PreferredStockFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_Customer4Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer4Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:CustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_Customer3Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_Customer4Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:Customer4Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:CustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">duot:CustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_PatentsAndTrademarksMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">duot:PatentsAndTrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_CommonStockMember5618031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SeriesDConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SeriesEConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SeriesFConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesFConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_SeriesDConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentOtherTypesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_FurnitureAndFixturesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_FurnitureAndFixturesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_EquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_EquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentOtherTypesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_SoftwareDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_SoftwareDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentOtherTypesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-23_custom_ThirdPartyInsuranceNoteOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-23</instant>
        </period>
    </context>
    <context id="From2022-12-222022-12-23_custom_ThirdPartyInsuranceNoteOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-22</startDate>
            <endDate>2022-12-23</endDate>
        </period>
    </context>
    <context id="AsOf2022-04-15_custom_ThirdPartyInsuranceNoteTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-15</instant>
        </period>
    </context>
    <context id="From2022-04-142022-04-15_custom_ThirdPartyInsuranceNoteTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-14</startDate>
            <endDate>2022-04-15</endDate>
        </period>
    </context>
    <context id="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-15</instant>
        </period>
    </context>
    <context id="From2023-04-142023-04-15_custom_ThirdPartyInsuranceNoteTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-14</startDate>
            <endDate>2023-04-15</endDate>
        </period>
    </context>
    <context id="AsOf2022-09-15_custom_ThirdPartyInsuranceNoteThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-15</instant>
        </period>
    </context>
    <context id="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-02</startDate>
            <endDate>2023-02-03</endDate>
        </period>
    </context>
    <context id="From2022-02-012022-02-03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-03</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-09-272022-09-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2022-09-27</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-02-03_custom_ThirdPartyInsuranceNoteFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-03</instant>
        </period>
    </context>
    <context id="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:ThirdPartyInsuranceNoteFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-02</startDate>
            <endDate>2023-02-03</endDate>
        </period>
    </context>
    <context id="AsOf2020-05-22_custom_EquipmentFinancingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:EquipmentFinancingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-22</instant>
        </period>
    </context>
    <context id="From2020-05-212023-06-01_custom_EquipmentFinancingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:EquipmentFinancingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-21</startDate>
            <endDate>2023-06-01</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EquipmentFinancingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:EquipmentFinancingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_EquipmentFinancingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">duot:EquipmentFinancingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_NorthAmericaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TurnkeyProjectsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SoftwareLicenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_AlgorithmsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_RailMember_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_RailMember_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_NorthAmericaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_TurnkeyProjectsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:TurnkeyProjectsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:MaintenanceAndSupportMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:DataCenterAuditingServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_SoftwareLicenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:SoftwareLicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_AlgorithmsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">duot:AlgorithmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_RailMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_GovernmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_RailMember_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_GoodsTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:GoodsTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_RailMember_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:RailMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:CommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:GovernmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">duot:ArtificialIntelligenceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">duot:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2021-07-252021-07-26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2021-07-25</startDate>
            <endDate>2021-07-26</endDate>
        </period>
    </context>
    <context id="AsOf2021-07-26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2021-07-26</instant>
        </period>
    </context>
    <context id="From2021-05-112021-05-12_custom_TwoThousandTwentyOneEquityIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:TwoThousandTwentyOneEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-11</startDate>
            <endDate>2021-05-12</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SeriesBConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesBConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_SeriesBConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesBConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ConvertibleSeriesCPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2021-02-252021-02-26_custom_PurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-25</startDate>
            <endDate>2021-02-26</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-01-31_custom_ConvertibleSeriesCPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-28</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ConvertibleSeriesDPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesDPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-09-30_custom_PurchaseAgreementMember_custom_SeriesDConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="From2022-07-012022-09-30_custom_SeriesDConvertiblePreferredStockMember_custom_PurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-10-29_custom_SeriesDConvertiblePreferredStockMember_us-gaap_PrivatePlacementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-29</instant>
        </period>
    </context>
    <context id="From2022-10-282022-10-29_custom_SeriesDConvertiblePreferredStockMember_us-gaap_PrivatePlacementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-28</startDate>
            <endDate>2022-10-29</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ConvertibleSeriesEPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-27</instant>
        </period>
    </context>
    <context id="From2023-03-262023-03-27_custom_SeriesEConvertiblePreferredStockMember_custom_PurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">duot:PurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-26</startDate>
            <endDate>2023-03-27</endDate>
        </period>
    </context>
    <context id="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-08</startDate>
            <endDate>2023-11-09</endDate>
        </period>
    </context>
    <context id="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-09</instant>
        </period>
    </context>
    <context id="AsOf2023-11-09_custom_SeriesEConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-09</instant>
        </period>
    </context>
    <context id="AsOf2023-11-09_custom_SeriesFConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesFConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-09</instant>
        </period>
    </context>
    <context id="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesFPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-10</instant>
        </period>
    </context>
    <context id="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesEPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-10</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_SeriesEConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_SeriesEConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-07-302023-08-02">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2023-07-30</startDate>
            <endDate>2023-08-02</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ConvertibleSeriesFPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesFPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-11-10_custom_SeriesEConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-10</instant>
        </period>
    </context>
    <context id="AsOf2023-11-10_custom_SeriesFConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesFConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-10</instant>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:ThreeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:ThreeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:ThreeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:ThreeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-07-012023-09-30_custom_FourDirectorsMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:FourDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-09-29_custom_FourDirectorsMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:FourDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-09-29</instant>
        </period>
    </context>
    <context id="AsOf2023-09-30_custom_ESPPMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">duot:ESPPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-09-30</instant>
        </period>
    </context>
    <context id="From2023-10-012023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:FourDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:FourDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-07-012023-12-29_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-12-29</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-29_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-29</instant>
        </period>
    </context>
    <context id="From2022-01-102022-01-11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2022-01-10</startDate>
            <endDate>2022-01-11</endDate>
        </period>
    </context>
    <context id="From2022-01-102022-01-11_custom_ConvertibleSeriesCPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesCPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-10</startDate>
            <endDate>2022-01-11</endDate>
        </period>
    </context>
    <context id="From2022-02-022022-02-03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2022-02-02</startDate>
            <endDate>2022-02-03</endDate>
        </period>
    </context>
    <context id="AsOf2022-02-03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2022-02-03</instant>
        </period>
    </context>
    <context id="From2022-02-202022-02-21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2022-02-20</startDate>
            <endDate>2022-02-21</endDate>
        </period>
    </context>
    <context id="AsOf2022-02-21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2022-02-21</instant>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_srt_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-03-31_srt_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_srt_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_srt_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2022-08-242022-08-25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <startDate>2022-08-24</startDate>
            <endDate>2022-08-25</endDate>
        </period>
    </context>
    <context id="From2022-08-242022-08-25_custom_ConvertibleSeriesBPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:ConvertibleSeriesBPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-24</startDate>
            <endDate>2022-08-25</endDate>
        </period>
    </context>
    <context id="From2022-07-012022-09-30_srt_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="From2022-07-012022-09-30_us-gaap_PrivatePlacementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-09-30_us-gaap_PrivatePlacementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="From2022-07-012022-09-30_us-gaap_SeriesDPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-09-30_us-gaap_SeriesDPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="AsOf2022-09-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="From2022-10-282022-10-29_us-gaap_PrivatePlacementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-28</startDate>
            <endDate>2022-10-29</endDate>
        </period>
    </context>
    <context id="AsOf2022-10-29_us-gaap_PrivatePlacementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-29</instant>
        </period>
    </context>
    <context id="From2022-10-282022-10-29_us-gaap_SeriesDPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-28</startDate>
            <endDate>2022-10-29</endDate>
        </period>
    </context>
    <context id="AsOf2022-10-29_us-gaap_SeriesDPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesDPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-29</instant>
        </period>
    </context>
    <context id="AsOf2022-10-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2022-10-29</instant>
        </period>
    </context>
    <context id="From2023-10-012023-12-31_srt_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_DirectorMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-10-012023-12-31_custom_EmployeeStockPurchasePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EmployeeStockPurchasePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EmployeeStockPurchasePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-07-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">duot:EmployeeStockPurchasePlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EmployeesAndDirectorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:EmployeesAndDirectorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_EmployeesAndDirectorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:EmployeesAndDirectorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2017-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="From2018-01-012018-12-31_custom_ShareholdersOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">duot:ShareholdersOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="From2018-01-012018-12-31_custom_ShareholdersTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">duot:ShareholdersTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ShareholdersOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">duot:ShareholdersOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ShareholdersTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">duot:ShareholdersTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-10-012023-12-31_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-03-302023-04-02_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-30</startDate>
            <endDate>2023-04-02</endDate>
        </period>
    </context>
    <context id="From2023-11-292023-12-01_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-29</startDate>
            <endDate>2023-12-01</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_OptionsMember_custom_FormerStaffMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">duot:OptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">duot:FormerStaffMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-07-012022-09-30_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-03-31_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-09-30_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="From2021-12-282022-01-02_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-28</startDate>
            <endDate>2022-01-02</endDate>
        </period>
    </context>
    <context id="From2022-07-012022-07-02_srt_ManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-07-02</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_OptionsMember_custom_FormerStaffMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">duot:OptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">duot:FormerStaffMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-07-012022-09-30_custom_OptionsMember_custom_TwoEmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">duot:OptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">duot:TwoEmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_WarrantMember_custom_FourtyEightWarrantsHoldersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">duot:FourtyEightWarrantsHoldersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-10-012023-12-31_us-gaap_WarrantMember_custom_FourtyEightWarrantsHoldersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">duot:FourtyEightWarrantsHoldersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-10-012022-12-31_us-gaap_WarrantMember_custom_SixtyThreeWarrantsHoldersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">duot:SixtyThreeWarrantsHoldersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesDConvertiblePreferredStockMember_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesDConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-03-21</startDate>
            <endDate>2024-03-22</endDate>
        </period>
    </context>
    <context id="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesEConvertiblePreferredStockMember_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-03-21</startDate>
            <endDate>2024-03-22</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesEConvertiblePreferredStockMember_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">duot:SeriesEConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-22</instant>
        </period>
    </context>
    <context id="AsOf2024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-22</instant>
        </period>
    </context>
    <context id="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001396536</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">duot:NewAccreditedInvestorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-03-21</startDate>
            <endDate>2024-03-22</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <dei:AmendmentFlag contextRef="From2023-01-01to2023-12-31" id="Fact000003">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="From2023-01-01to2023-12-31" id="Fact000004">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="From2023-01-01to2023-12-31" id="Fact000005">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="From2023-01-01to2023-12-31" id="Fact000006">0001396536</dei:EntityCentralIndexKey>
    <us-gaap:NotesAndLoansReceivableNetNoncurrent
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl0097"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0126"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0144"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl0145"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      id="xdx2ixbrl0185"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      id="xdx2ixbrl0187"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      id="xdx2ixbrl0209"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      id="xdx2ixbrl0211"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      id="xdx2ixbrl0233"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      id="xdx2ixbrl0235"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      id="xdx2ixbrl0283"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      id="xdx2ixbrl0305"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      id="xdx2ixbrl0307"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0432"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0433"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0434"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0445"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0447"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0449"
      unitRef="Shares"
      xsi:nil="true"/>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0453"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0455"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0456"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0457"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0460"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0461"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0462"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0469"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0470"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0471"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0472"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0475"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0476"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0477"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0483"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0484"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0486"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0487"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0488"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0490"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0491"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0496"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0497"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0498"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0499"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0500"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0501"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0503"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0504"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0507"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0508"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0509"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0510"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0511"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0514"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0515"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0520"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0521"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0522"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0523"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0524"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0525"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0531"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0532"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0533"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0534"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0535"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0538"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0539"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0544"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0545"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0546"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0547"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0548"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0549"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0550"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0552"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0555"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0556"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0558"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0559"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0566"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0568"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0572"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0574"
      unitRef="Shares"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0578"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0579"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0580"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0582"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0583"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0585"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0586"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0591"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0592"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0593"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0594"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0596"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0598"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0599"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0604"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0605"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0606"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0609"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0610"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0611"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0612"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0613"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0619"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0620"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0621"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0622"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0623"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0624"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0626"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0627"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0630"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0631"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0632"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0633"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0634"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0635"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0637"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0638"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0641"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0642"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0643"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0644"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0645"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0648"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0649"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0654"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0655"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0656"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0657"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0658"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0661"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0662"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0667"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0668"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_PreferredStockDMember"
      id="xdx2ixbrl0669"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      id="xdx2ixbrl0670"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0671"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0672"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0673"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0675"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0678"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0679"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0682"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_custom_PreferredStockBMember"
      id="xdx2ixbrl0689"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_custom_PreferredStockCMember"
      id="xdx2ixbrl0691"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_custom_PreferredStockFMember"
      id="xdx2ixbrl0697"
      unitRef="Shares"
      xsi:nil="true"/>
    <duot:IncreaseDecreaseInNotesReceivable
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0729"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncreaseDecreaseInSecurityDeposits
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0738"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:ProceedsFromIssuanceOfCommonStocks
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl0782"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl0789"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0982"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl0983"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:ConstructionInProgress
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl1080"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember"
      id="xdx2ixbrl1110"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteOneMember"
      id="xdx2ixbrl1112"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteFourMember"
      id="xdx2ixbrl1126"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember"
      id="xdx2ixbrl1252"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember"
      id="xdx2ixbrl1262"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_RailMember"
      id="xdx2ixbrl1266"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_CommercialMember"
      id="xdx2ixbrl1268"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_GovernmentsMember"
      id="xdx2ixbrl1270"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember_custom_ArtificialIntelligenceMember"
      id="xdx2ixbrl1272"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_DataCenterAuditingServicesMember"
      id="xdx2ixbrl1274"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_RailMember"
      id="xdx2ixbrl1276"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_CommercialMember"
      id="xdx2ixbrl1278"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_GovernmentsMember"
      id="xdx2ixbrl1280"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember_custom_ArtificialIntelligenceMember"
      id="xdx2ixbrl1282"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_SoftwareLicenseMember"
      id="xdx2ixbrl1284"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_RailMember"
      id="xdx2ixbrl1286"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_CommercialMember"
      id="xdx2ixbrl1288"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_GovernmentsMember"
      id="xdx2ixbrl1290"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember"
      id="xdx2ixbrl1310"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember"
      id="xdx2ixbrl1312"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_ArtificialIntelligenceMember"
      id="xdx2ixbrl1365"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_RailMember"
      id="xdx2ixbrl1369"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_CommercialMember"
      id="xdx2ixbrl1371"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_GovernmentsMember"
      id="xdx2ixbrl1373"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember_custom_ArtificialIntelligenceMember"
      id="xdx2ixbrl1375"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_DataCenterAuditingServicesMember"
      id="xdx2ixbrl1377"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_RailMember"
      id="xdx2ixbrl1379"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_CommercialMember"
      id="xdx2ixbrl1381"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_GovernmentsMember"
      id="xdx2ixbrl1383"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember_custom_ArtificialIntelligenceMember"
      id="xdx2ixbrl1385"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_SoftwareLicenseMember"
      id="xdx2ixbrl1387"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_RailMember"
      id="xdx2ixbrl1389"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_CommercialMember"
      id="xdx2ixbrl1391"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_GovernmentsMember"
      id="xdx2ixbrl1393"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      id="xdx2ixbrl1529"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-12-31"
      id="xdx2ixbrl1530"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl1550"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2022-12-31"
      id="xdx2ixbrl1552"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      id="xdx2ixbrl1974"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      id="xdx2ixbrl1982"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      id="xdx2ixbrl1990"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      id="xdx2ixbrl2008"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      id="xdx2ixbrl2016"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      id="xdx2ixbrl2034"
      unitRef="Pure"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      id="xdx2ixbrl2036"
      unitRef="Pure"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2021-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2068"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2072"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ConversionOfStockSharesIssued1
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2074"
      unitRef="Shares"
      xsi:nil="true"/>
    <duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2076"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2084"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2092"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2100"
      unitRef="USD"
      xsi:nil="true"/>
    <duot:WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2104"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ConversionOfStockSharesIssued1
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2106"
      unitRef="Shares"
      xsi:nil="true"/>
    <duot:WarrantsExchangedForCommonStockWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2108"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2116"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl2124"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2023-01-01to2023-12-31" id="Fact000013">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="From2023-01-01to2023-12-31" id="Fact000014">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="From2023-01-01to2023-12-31" id="Fact000015">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="From2023-01-01to2023-12-31" id="Fact000017">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport contextRef="From2023-01-01to2023-12-31" id="Fact000019">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2023-01-01to2023-12-31" id="Fact000020">000-55497</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2023-01-01to2023-12-31" id="Fact000022">DUOS TECHNOLOGIES GROUP, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2023-01-01to2023-12-31" id="Fact000023">FL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2023-01-01to2023-12-31" id="Fact000024">65-0493217</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2023-01-01to2023-12-31" id="Fact000025">7660 Centurion Parkway</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="From2023-01-01to2023-12-31" id="Fact000026">Suite 100</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="From2023-01-01to2023-12-31" id="Fact000027">Jacksonville</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2023-01-01to2023-12-31" id="Fact000028">FL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2023-01-01to2023-12-31" id="Fact000029">32256</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2023-01-01to2023-12-31" id="Fact000030">(904)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2023-01-01to2023-12-31" id="Fact000031">296-2807</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2023-01-01to2023-12-31" id="Fact000032">Common Stock, par value $0.001 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2023-01-01to2023-12-31" id="Fact000033">DUOT</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2023-01-01to2023-12-31" id="Fact000034">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="From2023-01-01to2023-12-31" id="Fact000035">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="From2023-01-01to2023-12-31" id="Fact000036">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="From2023-01-01to2023-12-31" id="Fact000037">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2023-01-01to2023-12-31" id="Fact000038">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2023-01-01to2023-12-31" id="Fact000039">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2023-01-01to2023-12-31" id="Fact000040">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2023-01-01to2023-12-31" id="Fact000041">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="From2023-01-01to2023-12-31" id="Fact000042">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="From2023-01-01to2023-12-31" id="Fact000043">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="From2023-01-01to2023-12-31" id="Fact000044">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="AsOf2023-06-30"
      decimals="0"
      id="Fact000046"
      unitRef="USD">26153446</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2024-03-28"
      decimals="INF"
      id="Fact000048"
      unitRef="Shares">7306663</dei:EntityCommonStockSharesOutstanding>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="From2023-10-012023-12-31" id="Fact000049">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="From2023-10-012023-12-31" id="Fact000050">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="From2023-10-012023-12-31" id="Fact000051">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="From2023-10-012023-12-31" id="Fact000052">false</ecd:NonRule10b51ArrTrmntdFlag>
    <dei:AuditorFirmId contextRef="From2023-01-01to2023-12-31" id="Fact000054">106</dei:AuditorFirmId>
    <dei:AuditorName contextRef="From2023-01-01to2023-12-31" id="Fact000056">SALBERG &amp; COMPANY, P.A.</dei:AuditorName>
    <dei:AuditorLocation contextRef="From2023-01-01to2023-12-31" id="Fact000058">Boca Raton, Florida</dei:AuditorLocation>
    <us-gaap:Cash
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000066"
      unitRef="USD">2441842</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000067"
      unitRef="USD">1121092</us-gaap:Cash>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000069"
      unitRef="USD">1462463</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000070"
      unitRef="USD">3418263</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000072"
      unitRef="USD">641947</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000073"
      unitRef="USD">425722</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000075"
      unitRef="USD">1526165</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000076"
      unitRef="USD">1428360</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000078"
      unitRef="USD">184478</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000079"
      unitRef="USD">441320</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000081"
      unitRef="USD">6256895</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000082"
      unitRef="USD">6834757</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000084"
      unitRef="USD">726507</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000085"
      unitRef="USD">629490</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000087"
      unitRef="USD">4373155</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000088"
      unitRef="USD">4689931</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000090"
      unitRef="USD">550000</us-gaap:SecurityDeposit>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000091"
      unitRef="USD">600000</us-gaap:SecurityDeposit>
    <us-gaap:NotesAndLoansReceivableNetNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000096"
      unitRef="USD">153750</us-gaap:NotesAndLoansReceivableNetNoncurrent>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000099"
      unitRef="USD">129140</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000100"
      unitRef="USD">69733</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000102"
      unitRef="USD">652838</duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer>
    <duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000103"
      unitRef="USD">265208</duot:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomer>
    <us-gaap:OtherAssets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000105"
      unitRef="USD">935728</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000106"
      unitRef="USD">334941</us-gaap:OtherAssets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000108"
      unitRef="USD">12842285</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000109"
      unitRef="USD">13089119</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000117"
      unitRef="USD">595634</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000118"
      unitRef="USD">2290390</us-gaap:AccountsPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000120"
      unitRef="USD">41976</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000121"
      unitRef="USD">74575</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000123"
      unitRef="USD">164113</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000124"
      unitRef="USD">453023</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000127"
      unitRef="USD">22851</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000129"
      unitRef="USD">779087</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000130"
      unitRef="USD">696869</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000132"
      unitRef="USD">1666243</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000133"
      unitRef="USD">957997</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000135"
      unitRef="USD">3247053</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000136"
      unitRef="USD">4495705</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000138"
      unitRef="USD">4228718</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000139"
      unitRef="USD">4542943</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000141"
      unitRef="USD">7475771</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000142"
      unitRef="USD">9038648</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000153"
      unitRef="USDPShares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000155"
      unitRef="USDPShares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000157"
      unitRef="Shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000159"
      unitRef="Shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000161"
      unitRef="Shares">9441000</duot:PreferredStockSharesAvailableToBeDesignated>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000163"
      unitRef="Shares">9441000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000165"
      unitRef="USDPShares">10</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000167"
      unitRef="USDPShares">10</us-gaap:PreferredStockParOrStatedValuePerShare>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000169"
      unitRef="Shares">500000</duot:PreferredStockSharesAvailableToBeDesignated>
    <duot:PreferredStockSharesAvailableToBeDesignated
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000171"
      unitRef="Shares">500000</duot:PreferredStockSharesAvailableToBeDesignated>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000173"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000175"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000177"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000179"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000181"
      unitRef="USDPShares">6.30</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesAPreferredStockMember"
      decimals="INF"
      id="Fact000183"
      unitRef="USDPShares">6.30</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000189"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000191"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000193"
      unitRef="Shares">15000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000195"
      unitRef="Shares">15000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000197"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000199"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000201"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000203"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000205"
      unitRef="USDPShares">7</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact000207"
      unitRef="USDPShares">7</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000213"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000215"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000217"
      unitRef="Shares">5000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000219"
      unitRef="Shares">5000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000221"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000223"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000225"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000227"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000229"
      unitRef="USDPShares">5.50</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact000231"
      unitRef="USDPShares">5.50</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000237"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000239"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000241"
      unitRef="Shares">4000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000243"
      unitRef="Shares">4000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000245"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000247"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000249"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000251"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000253"
      unitRef="USDPShares">3</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact000255"
      unitRef="USDPShares">3</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="0"
      id="Fact000257"
      unitRef="USD">1</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="0"
      id="Fact000259"
      unitRef="USD">1</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000261"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000263"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000265"
      unitRef="Shares">30000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000267"
      unitRef="Shares">30000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000269"
      unitRef="Shares">11500</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000271"
      unitRef="Shares">11500</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000273"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000275"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000277"
      unitRef="USDPShares">3</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact000279"
      unitRef="USDPShares">3</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="0"
      id="Fact000281"
      unitRef="USD">12</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000285"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000287"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000289"
      unitRef="Shares">5000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000291"
      unitRef="Shares">5000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000293"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000295"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000297"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000299"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000301"
      unitRef="USDPShares">6.20</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact000303"
      unitRef="USDPShares">6.20</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000312"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000314"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000316"
      unitRef="Shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000318"
      unitRef="Shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000320"
      unitRef="Shares">7306663</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000322"
      unitRef="Shares">7156876</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000324"
      unitRef="Shares">7305339</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000326"
      unitRef="Shares">7155552</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000309"
      unitRef="USD">7306</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000310"
      unitRef="USD">7156</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000328"
      unitRef="USD">69120199</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000329"
      unitRef="USD">56562600</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000331"
      unitRef="USD">-63603552</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000332"
      unitRef="USD">-52361834</us-gaap:RetainedEarningsAccumulatedDeficit>
    <duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000334"
      unitRef="USD">5523966</duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit>
    <duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000335"
      unitRef="USD">4207923</duot:TotalStockAndPaidInCapitalAndRetainedEarningsDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000340"
      unitRef="Shares">1324</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000342"
      unitRef="Shares">1324</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000337"
      unitRef="USD">157452</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000338"
      unitRef="USD">157452</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000344"
      unitRef="USD">5366514</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000345"
      unitRef="USD">4050471</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000347"
      unitRef="USD">12842285</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000348"
      unitRef="USD">13089119</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-12-31_us-gaap_ProductMember"
      decimals="0"
      id="Fact000353"
      unitRef="USD">3618022</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-012022-12-31_us-gaap_ProductMember"
      decimals="0"
      id="Fact000355"
      unitRef="USD">11190292</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-12-31_us-gaap_ServiceOtherMember"
      decimals="0"
      id="Fact000357"
      unitRef="USD">3853176</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-012022-12-31_us-gaap_ServiceOtherMember"
      decimals="0"
      id="Fact000359"
      unitRef="USD">3822074</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000361"
      unitRef="USD">7471198</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000362"
      unitRef="USD">15012366</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-012023-12-31_us-gaap_ProductMember"
      decimals="0"
      id="Fact000367"
      unitRef="USD">4352247</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-01-012022-12-31_us-gaap_ProductMember"
      decimals="0"
      id="Fact000369"
      unitRef="USD">8376649</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-012023-12-31_us-gaap_ServiceOtherMember"
      decimals="0"
      id="Fact000371"
      unitRef="USD">1810070</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-01-012022-12-31_us-gaap_ServiceOtherMember"
      decimals="0"
      id="Fact000373"
      unitRef="USD">1887614</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000375"
      unitRef="USD">6162317</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000376"
      unitRef="USD">10264263</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000378"
      unitRef="USD">1308881</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000379"
      unitRef="USD">4748103</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000384"
      unitRef="USD">1493309</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000385"
      unitRef="USD">1337186</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000387"
      unitRef="USD">1812951</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000388"
      unitRef="USD">1651064</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000390"
      unitRef="USD">9449187</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000391"
      unitRef="USD">8625002</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000393"
      unitRef="USD">12755447</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingCostsAndExpenses
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000394"
      unitRef="USD">11613252</us-gaap:OperatingCostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000396"
      unitRef="USD">-11446566</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000397"
      unitRef="USD">-6865149</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000402"
      unitRef="USD">7159</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000403"
      unitRef="USD">9191</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000405"
      unitRef="USD">212007</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000406"
      unitRef="USD">9557</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000408"
      unitRef="USD">204848</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000409"
      unitRef="USD">366</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000411"
      unitRef="USD">-11241718</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000412"
      unitRef="USD">-6864783</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact000414"
      unitRef="USDPShares">-1.56</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact000416"
      unitRef="USDPShares">-1.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact000418"
      unitRef="USDPShares">-1.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact000420"
      unitRef="USDPShares">-1.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact000422"
      unitRef="Shares">7204177</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact000424"
      unitRef="Shares">7204177</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact000426"
      unitRef="Shares">6175193</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-012022-12-31"
      decimals="INF"
      id="Fact000428"
      unitRef="Shares">6175193</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_custom_PreferredStockBMember"
      decimals="INF"
      id="Fact000441"
      unitRef="Shares">851</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_custom_PreferredStockBMember"
      decimals="0"
      id="Fact000430"
      unitRef="USD">1</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_custom_PreferredStockCMember"
      decimals="INF"
      id="Fact000443"
      unitRef="Shares">2500</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_custom_PreferredStockCMember"
      decimals="0"
      id="Fact000431"
      unitRef="USD">2</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000451"
      unitRef="Shares">4111047</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000435"
      unitRef="USD">4111</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000436"
      unitRef="USD">46431874</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000437"
      unitRef="USD">-45497051</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="Fact000438"
      unitRef="USD">-157452</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="Fact000439"
      unitRef="USD">781485</us-gaap:StockholdersEquity>
    <duot:SeriesCPreferredStockConvertedToCommonStockShares
      contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember"
      decimals="INF"
      id="Fact000464"
      unitRef="Shares">-2500</duot:SeriesCPreferredStockConvertedToCommonStockShares>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockCMember"
      decimals="0"
      id="Fact000454"
      unitRef="USD">-2</duot:SeriesCPreferredStockConvertedToCommonStock>
    <duot:SeriesCPreferredStockConvertedToCommonStockShares
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000466"
      unitRef="Shares">454546</duot:SeriesCPreferredStockConvertedToCommonStockShares>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000458"
      unitRef="USD">455</duot:SeriesCPreferredStockConvertedToCommonStock>
    <duot:SeriesCPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000459"
      unitRef="USD">-453</duot:SeriesCPreferredStockConvertedToCommonStock>
    <duot:SeriesBPreferredStockConvertedToCommonStockShares
      contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember"
      decimals="INF"
      id="Fact000479"
      unitRef="Shares">-851</duot:SeriesBPreferredStockConvertedToCommonStockShares>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockBMember"
      decimals="0"
      id="Fact000468"
      unitRef="USD">-1</duot:SeriesBPreferredStockConvertedToCommonStock>
    <duot:SeriesBPreferredStockConvertedToCommonStockShares
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000481"
      unitRef="Shares">121572</duot:SeriesBPreferredStockConvertedToCommonStockShares>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000473"
      unitRef="USD">122</duot:SeriesBPreferredStockConvertedToCommonStock>
    <duot:SeriesBPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000474"
      unitRef="USD">-121</duot:SeriesBPreferredStockConvertedToCommonStock>
    <duot:SeriesDPreferredStockConvertedToCommonStockShares
      contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember"
      decimals="INF"
      id="Fact000494"
      unitRef="Shares">1299</duot:SeriesDPreferredStockConvertedToCommonStockShares>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_custom_PreferredStockDMember"
      decimals="0"
      id="Fact000485"
      unitRef="USD">1</duot:SeriesDPreferredStockConvertedToCommonStock>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000489"
      unitRef="USD">1298999</duot:SeriesDPreferredStockConvertedToCommonStock>
    <duot:SeriesDPreferredStockConvertedToCommonStock
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000492"
      unitRef="USD">1299000</duot:SeriesDPreferredStockConvertedToCommonStock>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000502"
      unitRef="USD">819191</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000505"
      unitRef="USD">819191</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesOther
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000518"
      unitRef="Shares">2425752</us-gaap:StockIssuedDuringPeriodSharesOther>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000512"
      unitRef="USD">2425</us-gaap:StockIssuedDuringPeriodValueOther>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000513"
      unitRef="USD">8798579</us-gaap:StockIssuedDuringPeriodValueOther>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000516"
      unitRef="USD">8801004</us-gaap:StockIssuedDuringPeriodValueOther>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000526"
      unitRef="USD">942926</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000529"
      unitRef="USD">942926</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000542"
      unitRef="Shares">43959</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000536"
      unitRef="USD">43</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000537"
      unitRef="USD">157457</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000540"
      unitRef="USD">157500</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000551"
      unitRef="USD">-6864783</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000553"
      unitRef="USD">-6864783</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_custom_PreferredStockDMember"
      decimals="INF"
      id="Fact000570"
      unitRef="Shares">1299</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_custom_PreferredStockDMember"
      decimals="0"
      id="Fact000557"
      unitRef="USD">1</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000576"
      unitRef="Shares">7156876</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000560"
      unitRef="USD">7156</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000561"
      unitRef="USD">56562600</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000562"
      unitRef="USD">-52361834</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="Fact000563"
      unitRef="USD">-157452</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000564"
      unitRef="USD">4050471</us-gaap:StockholdersEquity>
    <duot:SeriesEPreferredStockIssuedShares
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      decimals="INF"
      id="Fact000589"
      unitRef="Shares">6500</duot:SeriesEPreferredStockIssuedShares>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      decimals="0"
      id="Fact000581"
      unitRef="USD">7</duot:SeriesEPreferredStockIssued>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000584"
      unitRef="USD">6499993</duot:SeriesEPreferredStockIssued>
    <duot:SeriesEPreferredStockIssued
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000587"
      unitRef="USD">6500000</duot:SeriesEPreferredStockIssued>
    <duot:SeriesFPreferredStockIssuedShares
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      decimals="INF"
      id="Fact000602"
      unitRef="Shares">5000</duot:SeriesFPreferredStockIssuedShares>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      decimals="0"
      id="Fact000595"
      unitRef="USD">5</duot:SeriesFPreferredStockIssued>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000597"
      unitRef="USD">4999995</duot:SeriesFPreferredStockIssued>
    <duot:SeriesFPreferredStockIssued
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000600"
      unitRef="USD">5000000</duot:SeriesFPreferredStockIssued>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferredShares
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      decimals="INF"
      id="Fact000615"
      unitRef="Shares">5000</duot:SeriesFPreferredStockConvertedToSeriesEPreferredShares>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-012023-12-31_custom_PreferredStockEMember"
      decimals="0"
      id="Fact000607"
      unitRef="USD">5</duot:SeriesFPreferredStockConvertedToSeriesEPreferred>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferredShares
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      decimals="INF"
      id="Fact000617"
      unitRef="Shares">-5000</duot:SeriesFPreferredStockConvertedToSeriesEPreferredShares>
    <duot:SeriesFPreferredStockConvertedToSeriesEPreferred
      contextRef="From2023-01-012023-12-31_custom_PreferredStockFMember"
      decimals="0"
      id="Fact000608"
      unitRef="USD">-5</duot:SeriesFPreferredStockConvertedToSeriesEPreferred>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000625"
      unitRef="USD">573441</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000628"
      unitRef="USD">573441</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000636"
      unitRef="USD">25797</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000639"
      unitRef="USD">25797</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000652"
      unitRef="Shares">38249</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000646"
      unitRef="USD">38</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000647"
      unitRef="USD">143027</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000650"
      unitRef="USD">143065</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000665"
      unitRef="Shares">111538</duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensationShares>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000659"
      unitRef="USD">112</duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-012023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000660"
      unitRef="USD">366940</duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation>
    <duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000663"
      unitRef="USD">367052</duot:StockIssuedUnderEmployeeStockPurchasePlanForCashAndCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000674"
      unitRef="USD">-11241718</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000676"
      unitRef="USD">-11241718</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_custom_PreferredStockDMember"
      decimals="INF"
      id="Fact000693"
      unitRef="Shares">1299</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_custom_PreferredStockDMember"
      decimals="0"
      id="Fact000680"
      unitRef="USD">1</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_custom_PreferredStockEMember"
      decimals="INF"
      id="Fact000695"
      unitRef="Shares">11500</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_custom_PreferredStockEMember"
      decimals="0"
      id="Fact000681"
      unitRef="USD">12</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000699"
      unitRef="Shares">7306663</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000683"
      unitRef="USD">7306</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000684"
      unitRef="USD">69120199</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000685"
      unitRef="USD">-63603552</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="0"
      id="Fact000686"
      unitRef="USD">-157452</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000687"
      unitRef="USD">5366514</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000704"
      unitRef="USD">-11241718</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000705"
      unitRef="USD">-6864783</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000710"
      unitRef="USD">550201</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000711"
      unitRef="USD">350192</us-gaap:DepreciationAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000713"
      unitRef="USD">710047</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000714"
      unitRef="USD">819191</us-gaap:ShareBasedCompensation>
    <duot:StockIssuedForServices
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000716"
      unitRef="USD">-143065</duot:StockIssuedForServices>
    <duot:StockIssuedForServices
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000717"
      unitRef="USD">-157500</duot:StockIssuedForServices>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000719"
      unitRef="USD">316776</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000720"
      unitRef="USD">235834</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000725"
      unitRef="USD">-1955800</us-gaap:IncreaseDecreaseInReceivables>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000726"
      unitRef="USD">1679720</us-gaap:IncreaseDecreaseInReceivables>
    <duot:IncreaseDecreaseInNotesReceivable
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000728"
      unitRef="USD">153750</duot:IncreaseDecreaseInNotesReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000731"
      unitRef="USD">216225</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000732"
      unitRef="USD">422273</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000734"
      unitRef="USD">97804</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000735"
      unitRef="USD">1130022</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInSecurityDeposits
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000737"
      unitRef="USD">50000</us-gaap:IncreaseDecreaseInSecurityDeposits>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000740"
      unitRef="USD">-744771</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000741"
      unitRef="USD">-266539</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000743"
      unitRef="USD">-1694756</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000744"
      unitRef="USD">1245890</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000746"
      unitRef="USD">-289209</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000747"
      unitRef="USD">-165069</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000749"
      unitRef="USD">-232007</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000750"
      unitRef="USD">184728</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000752"
      unitRef="USD">708245</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000753"
      unitRef="USD">-871314</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000755"
      unitRef="USD">-8746564</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000756"
      unitRef="USD">-7873307</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000761"
      unitRef="USD">69327</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000762"
      unitRef="USD">18190</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000764"
      unitRef="USD">527896</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000765"
      unitRef="USD">281783</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000767"
      unitRef="USD">496686</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000768"
      unitRef="USD">344915</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000770"
      unitRef="USD">-1093909</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000771"
      unitRef="USD">-644888</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <duot:RepaymentsOfInsuranceAndEquipmentFinancing
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000776"
      unitRef="USD">520529</duot:RepaymentsOfInsuranceAndEquipmentFinancing>
    <duot:RepaymentsOfInsuranceAndEquipmentFinancing
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000777"
      unitRef="USD">331175</duot:RepaymentsOfInsuranceAndEquipmentFinancing>
    <duot:RepaymentsOfLongTermCapitalLeaseObligation
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000779"
      unitRef="USD">22851</duot:RepaymentsOfLongTermCapitalLeaseObligation>
    <duot:RepaymentsOfLongTermCapitalLeaseObligation
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000780"
      unitRef="USD">80335</duot:RepaymentsOfLongTermCapitalLeaseObligation>
    <duot:ProceedsFromIssuanceOfCommonStocks
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000783"
      unitRef="USD">8801003</duot:ProceedsFromIssuanceOfCommonStocks>
    <duot:IssuanceCosts
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000785"
      unitRef="USD">25797</duot:IssuanceCosts>
    <duot:IssuanceCosts
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000786"
      unitRef="USD">942926</duot:IssuanceCosts>
    <us-gaap:ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000788"
      unitRef="USD">230400</us-gaap:ProceedsFromRepaymentOfLoansByEmployeeStockOwnershipPlans>
    <us-gaap:ProceedsFromIssuanceOrSaleOfEquity
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000791"
      unitRef="USD">11500000</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
    <us-gaap:ProceedsFromIssuanceOrSaleOfEquity
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000792"
      unitRef="USD">1299000</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000794"
      unitRef="USD">11161223</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000795"
      unitRef="USD">8745567</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000797"
      unitRef="USD">1320750</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000798"
      unitRef="USD">227372</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000800"
      unitRef="USD">1121092</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2021-12-31"
      decimals="0"
      id="Fact000801"
      unitRef="USD">893720</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000803"
      unitRef="USD">2441842</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000804"
      unitRef="USD">1121092</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000809"
      unitRef="USD">7159</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000810"
      unitRef="USD">9292</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000812"
      unitRef="USD">29085</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000813"
      unitRef="USD">1264</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:NotesIssued1
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000818"
      unitRef="USD">487929</us-gaap:NotesIssued1>
    <us-gaap:NotesIssued1
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000819"
      unitRef="USD">353244</us-gaap:NotesIssued1>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000821">&lt;p id="xdx_800_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zAyIFeIS9r97" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 1 &#x2013; &lt;span id="xdx_82F_zGGlc4jnUlxj"&gt;NATURE OF OPERATIONS AND SUMMARY
OF SIGNIFICANT ACCOUNTING POLICIES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_849_ecustom--NatureOfOperationsPolicyTextBlock_zXRXpZsRrDpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_864_zAt9lbVBSfg5"&gt;Nature of Operations&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Duos Technologies Group, Inc. (the &#x201c;Company&#x201d;),
through its operating subsidiaries, Duos Technologies, Inc. (&#x201c;Duos&#x201d;) and TrueVue360, Inc. (&#x201c;TrueVue360&#x201d;) (collectively
the &#x201c;Company&#x201d;), is a company that specializes in machine vision and artificial intelligence to analyze fast moving objects
such as trains, trucks, automobiles, and aircraft. This technology can help improve safety, maintenance, and operating metrics.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company is the inventor of the Railcar Inspection
Portal (RIP) and is currently the rail industry leader for machine vision/camera wayside detection systems that include the use of Artificial
Intelligence at speeds up to 125 mph. The RIP inspects a train at full speed from the top, sides, and bottom looking at FRA/AAR mandated
safety inspection points. The system also detects illegal riders that assists law enforcement agencies. Each rail car is scanned with
machine vision cameras and other sensors from the top, sides, and bottom and images are produced within seconds of passing that can be
used by the customer to help prevent derailments, improve maintenance operations, and assist with security. The Company self-performs
all aspects of hardware, software, IT, and Artificial Intelligence development and engineering and holds several patents and maintains
significant intellectual property. The Company also has a proprietary portfolio of over 48 Artificial Intelligence &#x201c;Use Cases&#x201d;
that automatically flag defects. The Company has deployed this system with several Class 1 and passenger customers and anticipates an
increased demand in the future from rail operators, car owners, shippers, and law enforcement agencies.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has also developed the Automated Logistics
Information System (ALIS) which automates gatehouse operations where trucks enter and exit large logistics and intermodal facilities.
This solution also incorporates sensors and data points as necessary for each operation and directly interconnects with backend logistics
databases and processes to streamline operations and significantly improve operations and security and, importantly, dramatically improves
throughput on each lane on which the technology is deployed. The Company expects to deploy an upgraded Truck Inspection Portal (TIP) which
uses the same technology and lessons learned from the ALIS and RIP systems.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s strategy is to expand our existing
customer base in the Class 1, short line, and passenger space in North America; expand our subscription offering to car owners and shippers;
and expand operations to meet the demand from international customers. The Company has prepared to respond and scale if necessary to react
to increased demand from potential regulations that may be imposed around wayside detection technology. In the future the Company may
put more emphasis on the trucking and intermodal sector with an updated Truck Inspection Portal solution. The Company continues to focus
on operational and technical excellence, customer satisfaction, and maintaining a highly skilled and performance-based work force.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;









&lt;p id="xdx_84B_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zUfUtWLWS0Zc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_868_zMtCYRXsyPH9"&gt;Principles of Consolidation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The consolidated financial statements include the
accounts of the Company and its wholly owned subsidiaries, Duos Technologies, Inc. and TrueVue360, Inc. All inter-company transactions
and balances are eliminated in consolidation.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_84D_eus-gaap--UseOfEstimates_zjWxKP3Ab3zk" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86E_z4DtWb0Q80i3"&gt;Use of Estimates&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from these
estimates. The most significant estimates in the accompanying consolidated financial statements include the allowance on accounts receivable
and notes receivable, valuation of common stock warrants received in exchange for an asset sale, valuation of deferred tax assets, valuation
of intangible and other long-lived assets, estimates of net contract revenues and the total estimated costs to determine progress towards
contract completion, valuation of inventory, estimates of the valuation of right of use assets and corresponding lease liabilities, valuation
of warrants issued with debt and valuation of stock-based awards. We base our estimates on historical experience and on various other
assumptions that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the
carrying values of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_845_eus-gaap--ConcentrationRiskCreditRisk_zZc51sYaEjp8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_863_z08RsoUelm7b"&gt;Concentrations&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Cash Concentrations&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Cash is maintained at financial institutions and at
times, balances may exceed federally insured limits. We have not experienced any losses related to these balances. As of December 31,
2023, the Company had balances in a financial institution which combined exceeded federally insured limits by approximately $&lt;span id="xdx_909_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20231231_zF3MQdap36a9" title="Federally insured limits"&gt;1,948,794&lt;/span&gt;.
Any loss incurred or a lack of access to such funds could have a significant adverse impact on the Company&#x2019;s consolidated financial
condition, results of operation and cash flows.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;
















&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Significant Customers and Concentration of Credit
Risk&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company had certain customers
whose revenue individually represented 10% or more of the Company&#x2019;s total revenue, or whose accounts receivable balances individually
represented 10% or more of the Company&#x2019;s total accounts receivable, as follows:&lt;/p&gt;

&lt;p style="font: 8pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;For the year ended December 31, 2023, three customers
accounted for &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zGHcHaR8IsZe" title="Concentration risk, percentage"&gt;48&lt;/span&gt;%,
&lt;span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z7xuwhpXOB42" title="Concentration risk, percentage"&gt;30&lt;/span&gt;%,
and &lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zEAx2hbkbKJ9" title="Concentration risk, percentage"&gt;11&lt;/span&gt;%
of revenues. For the year ended December 31, 2022, four customers accounted for &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zovlM5YeRNDl" title="Concentration risk, percentage"&gt;42&lt;/span&gt;%,
&lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zcVX9pOn7sdd" title="Concentration risk, percentage"&gt;18&lt;/span&gt;%,
&lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zS2jjiU3CUJ7" title="Concentration risk, percentage"&gt;14&lt;/span&gt;%
and &lt;span id="xdx_908_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zRbVhThOIvWi" title="Concentration risk, percentage"&gt;14&lt;/span&gt;%
of revenues. In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a rail inspection
portal which, once accepted, must be paid in full, with &lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zgLnTfA5JhR9"&gt;30&lt;/span&gt;%
or more being due and payable prior to delivery. The balances of the contracts are for service and maintenance which is paid annually
in advance with revenues recorded ratably over the contract period.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At December 31, 2023, two customers accounted for
&lt;span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zBfDb7yYA6tb" title="Concentration risk, percentage"&gt;83&lt;/span&gt;%,
and &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zsXCWzCysqn1" title="Concentration risk, percentage"&gt;11&lt;/span&gt;%,
of accounts receivable. At December 31, 2022, four customers accounted for &lt;span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z5ccrrlmlLP1" title="Concentration risk, percentage"&gt;34&lt;/span&gt;%,
&lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zTDB5At17REf" title="Concentration risk, percentage"&gt;31&lt;/span&gt;%,
&lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWWUbQ7R73yd" title="Concentration risk, percentage"&gt;19&lt;/span&gt;%
and &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zPZrKe5gGQBk" title="Concentration risk, percentage"&gt;10&lt;/span&gt;%
of accounts receivable. Much of the credit risk is mitigated since all of the customers listed here are Class 1 railroads with a history
of timely payments to us.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Geographic Concentration&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Approximately &lt;span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zrDc6wIfUq1l" title="Concentration risk, percentage"&gt;44&lt;/span&gt;% and &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z869YDkK91J1" title="Concentration risk, percentage"&gt;41&lt;/span&gt;% of revenue in 2023 and 2022,
respectively, is generated from customers outside of the United States.&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Significant Vendors and Concentration of
Credit Risk&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In some instances, the Company relies on a limited
pool of vendors for key components related to the manufacturing of its subsystems. These vendors are primarily focused on camera, server
and lighting technologies integral to the Company&#x2019;s solution. Where possible, the Company seeks multiple vendors for key components
to mitigate vendor concentration risk.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

















&lt;p id="xdx_847_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_z9lCOHVBVl21" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_863_zI7m7WXhXIkg"&gt;Fair Value of Financial Instruments and Fair
Value Measurements&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company follows Accounting Standards Codification
(&#x201c;ASC&#x201d;) 820, &#x201c;Fair Value Measurements and Disclosures&#x201d; (&#x201c;ASC 820&#x201d;), for assets and liabilities measured
at fair value on a recurring basis. ASC 820 establishes a common definition for fair value to be applied to existing generally accepted
accounting principles that requires the use of fair value measurements, establishes a framework for measuring fair value and expands disclosure
about such fair value measurements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;ASC&#160;820 defines fair value as the price that
would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement
date. Additionally, ASC&#160;820 requires the use of valuation techniques that maximize the use of observable inputs and minimize the
use of unobservable inputs.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;These inputs are prioritized below:&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 10%; text-align: justify"&gt;Level 1:&lt;/td&gt;
    &lt;td style="width: 90%"&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;Observable inputs such as quoted market
    prices in active markets for identical assets or liabilities&lt;/p&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="text-align: justify"&gt;Level 2:&lt;/td&gt;
    &lt;td&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify"&gt;Observable market-based inputs or unobservable
    inputs that are corroborated by market data&lt;/p&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="text-align: justify"&gt;Level 3:&lt;/td&gt;
    &lt;td&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Unobservable inputs for which there is little
or no market data, which require the use of the reporting entity&#x2019;s own assumptions that the market participants would use in the
valuation of the asset or liability based on the best available information.&lt;/p&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company analyzes all financial instruments with
features of both liabilities and equity under the Financial Accounting Standard Board&#x2019;s (&#x201c;FASB&#x201d;) accounting standard
for such instruments. Under this standard, financial assets and liabilities are classified in their entirety based on the lowest level
of input that is significant to the fair value measurement.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The estimated fair value of certain financial instruments,
including accounts receivable, prepaid expenses, accounts payable, accrued expenses and notes payable are carried at historical cost basis,
which approximates their fair values because of the short-term nature of these instruments.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_849_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zPQH94fN8cs1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_zseM016u5fra"&gt;Accounts Receivable&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On January 1, 2023, the Company adopted ASC 326, "Financial
Instruments - Credit Losses". In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make required payments (current expected losses). The amount of the allowance is determined
principally on the basis of past collection experience and known financial factors regarding specific customers.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Accounts receivable are stated at estimated net realizable
value. Accounts receivable are comprised of balances due from customers net of estimated allowances for uncollectible accounts. In determining
the collections on the account, historical trends are evaluated, and specific customer issues are reviewed to arrive at appropriate allowances.
The Company reviews its accounts to estimate losses resulting from the inability of its customers to make required payments. Any required
allowance is based on specific analysis of past due accounts and also considers historical trends of write-offs. Past due status is based
on how recently payments have been received from customers.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_844_eus-gaap--InventoryPolicyTextBlock_zrSvM8WGjsJ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_zW8SQpCTxEAg"&gt;Inventory&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Inventory consists primarily of spare parts and consumables
and long-lead time components to be used in the production of our technology systems or in connection with maintenance agreements with
customers. Any inventory deemed to be obsolete is written off. Inventory is stated at the lower of cost or net realizable value. Inventory
cost is primarily determined using the weighted average cost method.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zj0Nwe7QIUcl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_863_zlunIuRRXpni"&gt;Property and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Property and equipment are stated at cost, less accumulated
depreciation. Depreciation is provided by the straight-line method over the estimated economic life of the property and equipment (three
&lt;span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MinimumMember_zDD1NxkwAnKg" style="display: none" title="Estimated economic life of the property and equipment"&gt;3&lt;/span&gt; to five &lt;span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MaximumMember_zaT3mbVqX9ed" style="display: none" title="Estimated economic life of the property and equipment"&gt;5
&lt;/span&gt;years). When assets are sold or retired, their costs and accumulated depreciation are eliminated from the accounts and any gain
or loss resulting from their disposal is included in the statement of operations. Leasehold improvements are expensed over the shorter
of the term of our lease or their useful lives.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zIfAonS06TA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_z3wzTvenYp4f"&gt;Software Development Costs&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Software development costs incurred prior to
establishing technological feasibility are charged to operations and included in research and development costs. The technological feasibility
of a software product is established when the Company has completed all planning, designing, coding, and testing activities that are necessary
to establish that the product meets its design specifications, including functionality, features, and technical performance requirements.
Software development costs incurred after establishing technological&#160;feasibility for software sold as a perpetual license, as defined
within ASC 985-20 (Software &#x2013; Costs of Software to be Sold, Leased, or Marketed) are capitalized and amortized on a product-by-product
basis when the product is available for general release to customers. Software development costs are evaluated for impairment annually by comparing the net realizable value to the unamortized
capitalization costs and writing these costs down to net realizable value.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_848_ecustom--PatentsAndTrademarksPolicyTextBlock_z0F57Zo0O0sk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_867_ztrU0S0u2Xtk"&gt;Patents and Trademarks&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Patents and trademarks which are stated at amortized
cost, relate to the development of video surveillance security system technology and are being amortized over &lt;span id="xdx_902_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--IndefiniteLivedIntangibleAssetsByMajorClassAxis__custom--PatentsAndTrademarksMember_zMJChkBjc8hj" title="Estimated economic life of the property and equipment"&gt;17&lt;/span&gt; years.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_84C_ecustom--LonglivedAssetsTextBlock_zqtK3pJaGOe2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86F_zvjjsMs4HA7c"&gt;Long-Lived Assets&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company evaluates the recoverability of its property,
equipment, and other long-lived assets in accordance with FASB ASC 360-10-35-15 &#x201c;Impairment or Disposal of Long-Lived Assets&#x201d;,
which requires recognition of impairment of long-lived assets in the event the net book values of such assets exceed the estimated future
undiscounted cash flows attributable to such assets or the business to which such intangible assets relate. This guidance requires that
long-lived assets and certain identifiable intangibles be reviewed for impairment whenever events or changes in circumstances indicate
that the carrying amount of an asset may not be recoverable. Recoverability of assets to be held and used is measured by a comparison
of the carrying amount of an asset to future undiscounted net cash flows expected to be generated by the asset. If such assets are considered
to be impaired, the impairment to be recognized is measured by the amount by which the carrying amount of the assets exceeds the fair
value of the assets. Assets to be disposed of are reported at the lower of the carrying amount or fair value less costs to sell.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_84F_eus-gaap--GuaranteesIndemnificationsAndWarrantiesPolicies_zfeofnSsdzS2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_z7W5NeSi5Uqa"&gt;Product Warranties&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has a &lt;span id="xdx_907_ecustom--ProductWarrantyPeriod_dtD_c20230101__20231231_zUkE3EHSCq86" title="Product warranty Period"&gt;90&lt;/span&gt;-day warranty period for materials
and labor after final acceptance of a project. If any parts are defective they are replaced under our vendor warranty which is usually
&lt;span id="xdx_90E_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zuENoH5e9ZM" title="Product warranty Period"&gt;12&lt;/span&gt; to &lt;span id="xdx_907_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zub7jm7QgrDl" title="Product warranty Period"&gt;36&lt;/span&gt; months. Final acceptance terms vary by customer. Some customers have a cure period for any material deviation and if the Company
fails or is unable to correct any deviations, a full refund of all payments made by the customer will be arranged by the Company. As of
December 31, 2023 and 2022, the warranty costs have been de-minimis, therefore no accrual of warranty liability has been made.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--LoanCommitmentsPolicy_zJdPJN2rFaTk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86C_zV5Osec0t4Ae"&gt;Loan Costs&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Loan costs paid to lenders, or third parties are recorded
as debt discounts to the related loans and amortized to interest expense over the loan term.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_842_ecustom--SalesReturnPolicyTextBlock_zim7mza9X18j" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_zp4sRIgABlwi"&gt;Sales Returns&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Our systems are sold as integrated systems and there
are no sales returns allowed.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_84D_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zPOCJzKA4q6k" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86E_zgCQFOQ7o79f"&gt;Revenue Recognition&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company follows Accounting Standards Codification
606, Revenue from Contracts with Customers (&#x201c;ASC 606&#x201d;), that affects the timing of when certain types of revenues will be
recognized. The basic principles in ASC 606 include the following: a contract with a customer creates distinct contract assets and performance
obligations, satisfaction of a performance obligation creates revenue, and a performance obligation is satisfied upon transfer of control
to a good or service to a customer.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Revenue is recognized by evaluating our revenue contracts
with customers based on the five-step model under ASC 606:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;1.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Identify the contract with the customer;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;2.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Identify the performance obligations in the contract;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;3.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Determine the transaction price;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;4.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Allocate the transaction price to separate performance obligations; and&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;5.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Recognize revenue when (or as) each performance obligation is satisfied.&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company generates revenue from four sources: (1)
Technology Systems; (2) AI Technologies; (3) Technical Support and (4) Consulting services.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Technology Systems&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;For revenues related to technology systems, the Company
recognizes revenue over time using a cost-based input methodology in which significant judgment is required to estimate costs to complete
projects. These estimated costs are then used to determine the progress towards contract completion and the corresponding amount of revenue
to recognize.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Accordingly, the Company now bases its revenue recognition
on ASC 606-10-25-27, where control of a good or service transfers over time if the entity&#x2019;s performance does not create an asset
with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date including a
profit margin or reasonable return on capital. Control is deemed to pass to the customer instantaneously as the goods are manufactured
and revenue is recognized accordingly.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In addition, the Company has adopted ASC 606-10-55-21
such that if the cost incurred is not proportionate to the progress in satisfying the performance obligation, we adjust the input method
to recognize revenue only to the extent of the cost incurred. Therefore, the Company will recognize revenue at an equal amount to the
cost of the goods to satisfy the performance obligation. To accurately reflect revenue recognition based on the input method, the Company
has adopted the implementation guidance as set out in ASC-606-10-55-187 through 192.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Under this method, contract revenues are recognized
over the performance period of the contract in direct proportion to the costs incurred. Costs include direct material, direct labor, subcontract
labor and other allocable indirect costs. All un-allocable indirect costs and corporate general and administrative costs are also charged
to the periods as incurred. Any recognized revenues that have not been billed to a customer are recorded as an asset in &#x201c;contract
assets&#x201d;. Any billings of customers more than recognized revenues are recorded as a liability in &#x201c;contract liabilities&#x201d;.
However, in the event a loss on a contract is foreseen, the Company will recognize the loss when such loss is determined to be both probable and reasonably estimable.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;AI Technologies&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has revenue from applications that incorporate
artificial intelligence (AI) in the form of predetermined algorithms which provide important operating information to the users of our
systems. The revenue generated from these applications of AI consists of a fixed fee related to the design, development, testing and incorporation
of new algorithms into the system, which is recognized as revenue at a point in time upon acceptance, as well as an annual application
maintenance fee, which is recognized as revenue ratably over the contracted maintenance term.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Technical Support&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Technical support services are provided on both an
as-needed and extended-term basis and may include providing both parts and labor. Maintenance and technical support provided outside of
a maintenance contract are on an &#x201c;as-requested&#x201d; basis, and revenue is recognized over time as the services are provided. Revenue
for maintenance and technical support provided on an extended-term basis is recognized over time ratably over the term of the contract.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Consulting Services&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s consulting services business generates
revenues under contracts with customers from four sources: (1) Professional Services (consulting and auditing); (2) Software licensing
with optional hardware sales; (3) Customer service training and (4) Maintenance support.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;(1) Revenues for professional services,
which are of short-term duration, are recognized when services are completed;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;(2) For all periods reflected in this report,
software license sales have been one-time sales of a perpetual license to use our software product and the customer also has the option
to purchase third-party manufactured handheld devices from us if they purchase our software license. Accordingly, the revenue is recognized
upon delivery of the software and delivery of the hardware, as applicable, to the customer;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;(3) Training sales are one-time upfront
short-term training sessions and are recognized after the service has been performed; and&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;(4) Maintenance/support is an optional product
sold to our software license customers under one-year contracts. Accordingly, maintenance payments received upfront are deferred and recognized
over the contract term.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_847_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zZz5gFzVpcDk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span id="xdx_862_zVnP06OFRFW8"&gt;Multiple Performance Obligations and Allocation
of Transaction Price&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Arrangements with customers may involve multiple performance
obligations including project revenue and maintenance services in our Technology Systems business. Maintenance will occur after the project
is completed and may be provided on an extended-term basis or on an as-needed basis. In our consulting services business, multiple performance
obligations may include any of the above four sources. Training and maintenance on software products may occur after the software product
sale while other services may occur before or after the software product sale and may not relate to the software product. Revenue recognition
for a multiple performance obligations arrangement is as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Each performance obligation is accounted for separately
when each has value to the customer on a standalone basis and there is Company specific objective evidence of the selling price of each
deliverable. For revenue arrangements with multiple deliverables, the Company allocates the total customer arrangement to the separate
units of accounting based on their relative selling prices as determined by the price of the items when sold separately. Once the selling
price is allocated, the revenue for each performance obligation is recognized using the applicable criteria under GAAP as discussed above
for performance obligations sold in single performance obligation arrangements. A delivered item or items that do not qualify as a separate
unit of accounting within the arrangement are combined with the other applicable undelivered items within the arrangement. The allocation
of arrangement consideration and the recognition of revenue is then determined for those combined deliverables as a single unit of accounting.
The Company sells its various services and software and hardware products at established prices on a standalone basis which provides Company
specific objective evidence of selling price for purposes of performance obligations relative selling price allocation. The Company only
sells maintenance services or spare parts based on its established rates after it has completed a system integration project for a customer.
The customer is not required to purchase maintenance services. All elements in multiple performance obligations arrangements with Company
customers qualify as separate units of account for revenue recognition purposes.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_84C_eus-gaap--AdvertisingCostsPolicyTextBlock_zoIXVg8nXDrb" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_zRdxLxwmpvog"&gt;Advertising&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company expenses the cost of advertising.
During the years ended December 31, 2023 and 2022, there were &lt;span id="xdx_903_eus-gaap--AdvertisingExpense_pp0p0_do_c20230101__20231231_zAS1TJJEfKg7" title="Advertising costs"&gt;&lt;span id="xdx_904_eus-gaap--AdvertisingExpense_pp0p0_do_c20220101__20221231_zcyTeVx4V0T1" title="Advertising costs"&gt;no&lt;/span&gt;&lt;/span&gt; advertising costs.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p id="xdx_849_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_zUZ26uXEVFmg" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86F_zZ2LrI0Vm7zj"&gt;Stock Based Compensation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company accounts for employee and non-employee
stock-based compensation in accordance with ASC 718-10, &#x201c;&lt;i&gt;Share-Based Payment&lt;/i&gt;,&#x201d; which requires the measurement and recognition
of compensation expense for all share-based payment awards made to employee and directors including stock options, restricted stock units,
and employee stock purchases based on estimated fair values. The stock-based compensation carries a graded vesting feature subject to the condition of time of employment service
with awarded stock-based compensation tranches vesting evenly upon the anniversary date of the award.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company estimates the fair value of stock options
granted using the Black-Scholes option-pricing formula. In accordance with ASC 718-10-35-8, the Company elected to recognize the fair
value of the stock award using the graded vesting method as time of employment service is the criteria for vesting.  The Company&#x2019;s
determination of fair value using an option-pricing model is affected by the stock price as well as assumptions regarding a number of
highly subjective variables.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company estimates volatility based upon the
historical stock price of the Company and estimates the expected term for stock options using the simplified method for employees
and directors and the contractual term for non-employees. The risk-free rate is determined based upon the prevailing rate of United States
Treasury securities with similar maturities.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_849_eus-gaap--IncomeTaxPolicyTextBlock_zKFT4vOmoK1j" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_zGi6iWpQ5yx"&gt;Income Taxes&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company accounts for income taxes in accordance
with the Financial Accounting Standards Board FASB Accounting Standards Codification (&#x201c;ASC&#x201d;) 740, Income Taxes, which requires
the recognition of deferred income taxes for differences between the basis of assets and liabilities for financial statement and income
tax purposes. The deferred tax assets and liabilities represent the future tax return consequences of those differences, which will either
be taxable or deductible when the assets and liabilities are recovered or settled. Valuation allowances are established when necessary
to reduce deferred tax assets to the amount expected to be realized.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company evaluates all significant tax positions
as required by ASC 740. As of December 31, 2023, the Company does not believe that it has taken any positions that would require the recording
of any additional tax liability, nor does it believe that there are any unrealized tax benefits that would either increase or decrease
within the next year.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Any penalties and interest assessed by income
taxing authorities are included in operating expenses.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The federal and state income tax returns of the
Company are subject to examination by the IRS and state taxing authorities, generally for three years after they were filed. Tax years
2020, 2021 and 2022 remain open for potential audit.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p id="xdx_844_eus-gaap--EarningsPerSharePolicyTextBlock_zzof3cmLpjul" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_zpIRIonjKT7"&gt;Earnings (Loss) Per Share&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Basic earnings per share (EPS) are computed by dividing
the net loss applicable to common stock by the weighted average number of common shares outstanding. Diluted net loss per common share
is computed by dividing the net loss applicable to common stock by the weighted average number of common shares outstanding for the period
and, if dilutive, potential common shares outstanding during the period. Potential common shares consist of the incremental common shares
issuable upon the exercise or conversion of stock options, stock warrants, convertible debt instruments, convertible preferred stock or
other common stock equivalents. Potentially dilutive securities are excluded from the computation if their effect is anti-dilutive.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At December 31, 2023, there were (i) an aggregate
of &lt;span id="xdx_903_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zSTHbBwN048j" title="Outstanding warrants"&gt;44,644&lt;/span&gt; outstanding warrants to purchase shares of common stock, (ii) employee stock options to purchase an aggregate of &lt;span id="xdx_90C_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpQY2Wv5km93" title="Number of incentive stock options"&gt;1,387,775&lt;/span&gt; shares
of common stock, (iii) &lt;span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zuFJuLf0um82" title="Common shares issuable conversion"&gt;433,000&lt;/span&gt; common shares issuable upon conversion of Series D Convertible Preferred Stock, (iv) &lt;span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zv9lRPYmCOMb" title="Common shares issuable conversion"&gt;3,833,334&lt;/span&gt; common shares
issuable upon conversion of Series E Convertible Preferred Stock, and (v) &lt;span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zi9kjnrsrFNf" title="Common shares issuable conversion"&gt;0&lt;/span&gt; common shares issuable upon conversion of Series F Convertible
Preferred Stock, all of which were excluded from the computation of diluted net earnings per share because their inclusion would have
been anti-dilutive.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At December 31, 2022, there was an aggregate of &lt;span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20221231_zpfA2R77oYId" title="Outstanding warrants"&gt;147,591&lt;/span&gt;
outstanding warrants to purchase shares of common stock aggregate of &lt;span id="xdx_906_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zj75AjQJoNli" title="Number of incentive stock options"&gt;926,266&lt;/span&gt;
employee stock options to purchase shares of common stock, and &lt;span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20220101__20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zGAUfZXW0TBi" title="Common shares issuable conversion"&gt;433,000&lt;/span&gt;
common shares were issuable upon conversion of Series D Convertible Preferred Stock, all of which were excluded from the computation
of diluted net  earnings per share because their inclusion would have been anti-dilutive.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p id="xdx_849_eus-gaap--LesseeLeasesPolicyTextBlock_zDdVkFIJg1g9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_868_zcAobCWG10M9"&gt;Leases&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company follows ASC 842 &#x201c;Leases&#x201d;.
This guidance requires lessees to recognize right-of-use (&#x201c;ROU&#x201d;) assets and lease liabilities for most operating leases. In
addition, this guidance requires that lessors separate lease and non-lease components in a contract in accordance with the revenue guidance
in ASC 606.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company made an accounting policy election
to not recognize short-term leases with terms of twelve months or less on the balance sheet and instead recognize the lease payments in
expense as incurred. The Company has also elected to account for real estate leases that contain both lease and non-lease components as
a single lease component.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At the inception of a contract the Company assesses
whether the contract is, or contains, a lease. The Company&#x2019;s assessment is based on: (1) whether the contract involves the use of
a distinct identified asset, (2) whether we obtain the right to substantially all the economic benefit from the use of the asset throughout
the period, and (3) whether we have the right to direct the use of the asset.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Operating ROU assets represent the right to use
the leased asset for the lease term and operating lease liabilities are recognized based on the present value of minimum lease payments
over the lease term at commencement date. As most leases do not provide an implicit rate, the Company uses an incremental borrowing rate
based on the information available at the lease commencement date to determine the present value of future payments. The lease term includes
all periods covered by renewal and termination options where the Company is reasonably certain to exercise the renewal options or not
to exercise the termination options. Operating lease expense is recognized on a straight-line basis over the lease term and is included
in general and administration expenses in the consolidated statements of operations.&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zvJ2DrZ7RHa1" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_zQEEbeDc8gPd"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;From time to time, the FASB or other standards setting
bodies will issue new accounting pronouncements. Updates to the FASB ASC are communicated through issuance of an Accounting Standards
Update (&#x201c;ASU&#x201d;).&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In August 2020, the FASB issued an accounting pronouncement
(ASU 2020-06) related to the measurement and disclosure requirements for convertible instruments and contracts in an entity's own equity.
The pronouncement simplifies and adds disclosure requirements for the accounting and measurement of convertible instruments and the settlement
assessment for contracts in an entity's own equity. This pronouncement is effective for fiscal years, and for interim periods within those
fiscal years, beginning after December 15, 2023. The Company early adopted this pronouncement for our fiscal year beginning January 1,
2022, and it did not have a material effect on our audited consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In May 2021, the FASB issued an accounting pronouncement
(ASU 2021-04) related to modifications or exchanges of freestanding equity-classified written call options (such as warrants) that remain
equity classified after modification or exchange. The pronouncement states that an entity should treat the modification as an exchange
of the original instrument for a new instrument, and the effect of the modification should be calculated as the difference between the
fair value of the modified instrument and the fair value of that instrument immediately before modification. An entity should then recognize
the effect of the modification on the basis of the substance of the transaction, in the same manner as if cash had been paid as consideration.
This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2021.
The pronouncement is applied prospectively to all modifications that occur after the initial date of adoption. We adopted this pronouncement
for our fiscal year beginning January 1, 2022, and it did not have a material effect on our audited consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span&gt;In March 2022,
the FASB issued ASU No. 2022-02,&#160;&lt;i&gt;Financial Instruments-Credit Losses (Topic 326): Troubled Debt Restructurings and Vintage Disclosures&lt;/i&gt;.
The guidance was issued as improvements to ASU No. 2016-13. The vintage disclosure changes require an entity to disclose
current-period gross write-offs by year of origination for financing receivables. The guidance is effective for financial statements issued
for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years. The amendments should be applied prospectively.
Early adoption of the amendments is permitted, including adoption in an interim period. The amendments will impact our disclosures but
will not otherwise impact the consolidated financial statements. During 2023, the Company adopted a policy related to Topic 326 whereby
it periodically reviews the collectability and historical write-offs, if any, to evaluate the need for any credit losses or an allowance.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify"&gt;In November 2023, the FASB issued ASU 2023-07
Segment Reporting (Topic 280): &lt;i&gt;Improvements to Reportable Segment Disclosures&lt;/i&gt;. ASU 2023-07 requires companies to disclose significant
segment expenses that are regularly provided to the chief operating decision maker. ASU 2023-07 is effective for annual periods beginning
on January 1, 2024 and interim periods beginning on January 1, 2025. ASU 2023-07 must be applied retrospectively to all prior periods
presented in the financial statements. The Company is evaluating the disclosure impact of ASU 2023-07; however, the standard will not
have an impact on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify"&gt;In December 2023, the FASB issued ASU
No. 2023-09 Income Taxes (Topic 740): &lt;i&gt;Improvements to Income Tax Disclosures&lt;/i&gt;. ASU 2023-09 requires companies to disclose, on an
annual basis, specific categories in the effective tax rate reconciliation and provide additional information for reconciling items that
meet a quantitative threshold. Further, ASU 2023-09 requires companies to disclose additional information about income taxes paid. ASU
2023-09 is effective for annual periods beginning January 1, 2025 and will be applied on a prospective basis with the option to apply
the standard retrospectively. The Company is evaluating the disclosure impact of ASU 2023-09; however, the standard will not have an
impact on the Company&#x2019;s consolidated financial statements.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0"&gt;Management does not believe that any other recently issued, but not
yet effective accounting pronouncements, if adopted, would have a material effect on the accompanying financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;













</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <duot:NatureOfOperationsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000823">&lt;p id="xdx_849_ecustom--NatureOfOperationsPolicyTextBlock_zXRXpZsRrDpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_864_zAt9lbVBSfg5"&gt;Nature of Operations&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Duos Technologies Group, Inc. (the &#x201c;Company&#x201d;),
through its operating subsidiaries, Duos Technologies, Inc. (&#x201c;Duos&#x201d;) and TrueVue360, Inc. (&#x201c;TrueVue360&#x201d;) (collectively
the &#x201c;Company&#x201d;), is a company that specializes in machine vision and artificial intelligence to analyze fast moving objects
such as trains, trucks, automobiles, and aircraft. This technology can help improve safety, maintenance, and operating metrics.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company is the inventor of the Railcar Inspection
Portal (RIP) and is currently the rail industry leader for machine vision/camera wayside detection systems that include the use of Artificial
Intelligence at speeds up to 125 mph. The RIP inspects a train at full speed from the top, sides, and bottom looking at FRA/AAR mandated
safety inspection points. The system also detects illegal riders that assists law enforcement agencies. Each rail car is scanned with
machine vision cameras and other sensors from the top, sides, and bottom and images are produced within seconds of passing that can be
used by the customer to help prevent derailments, improve maintenance operations, and assist with security. The Company self-performs
all aspects of hardware, software, IT, and Artificial Intelligence development and engineering and holds several patents and maintains
significant intellectual property. The Company also has a proprietary portfolio of over 48 Artificial Intelligence &#x201c;Use Cases&#x201d;
that automatically flag defects. The Company has deployed this system with several Class 1 and passenger customers and anticipates an
increased demand in the future from rail operators, car owners, shippers, and law enforcement agencies.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has also developed the Automated Logistics
Information System (ALIS) which automates gatehouse operations where trucks enter and exit large logistics and intermodal facilities.
This solution also incorporates sensors and data points as necessary for each operation and directly interconnects with backend logistics
databases and processes to streamline operations and significantly improve operations and security and, importantly, dramatically improves
throughput on each lane on which the technology is deployed. The Company expects to deploy an upgraded Truck Inspection Portal (TIP) which
uses the same technology and lessons learned from the ALIS and RIP systems.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s strategy is to expand our existing
customer base in the Class 1, short line, and passenger space in North America; expand our subscription offering to car owners and shippers;
and expand operations to meet the demand from international customers. The Company has prepared to respond and scale if necessary to react
to increased demand from potential regulations that may be imposed around wayside detection technology. In the future the Company may
put more emphasis on the trucking and intermodal sector with an updated Truck Inspection Portal solution. The Company continues to focus
on operational and technical excellence, customer satisfaction, and maintaining a highly skilled and performance-based work force.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;









</duot:NatureOfOperationsPolicyTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000827">&lt;p id="xdx_84B_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zUfUtWLWS0Zc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_868_zMtCYRXsyPH9"&gt;Principles of Consolidation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The consolidated financial statements include the
accounts of the Company and its wholly owned subsidiaries, Duos Technologies, Inc. and TrueVue360, Inc. All inter-company transactions
and balances are eliminated in consolidation.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="From2023-01-01to2023-12-31" id="Fact000829">&lt;p id="xdx_84D_eus-gaap--UseOfEstimates_zjWxKP3Ab3zk" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86E_z4DtWb0Q80i3"&gt;Use of Estimates&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The preparation of financial statements in conformity
with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that
affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from these
estimates. The most significant estimates in the accompanying consolidated financial statements include the allowance on accounts receivable
and notes receivable, valuation of common stock warrants received in exchange for an asset sale, valuation of deferred tax assets, valuation
of intangible and other long-lived assets, estimates of net contract revenues and the total estimated costs to determine progress towards
contract completion, valuation of inventory, estimates of the valuation of right of use assets and corresponding lease liabilities, valuation
of warrants issued with debt and valuation of stock-based awards. We base our estimates on historical experience and on various other
assumptions that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the
carrying values of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2023-01-01to2023-12-31" id="Fact000831">&lt;p id="xdx_845_eus-gaap--ConcentrationRiskCreditRisk_zZc51sYaEjp8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_863_z08RsoUelm7b"&gt;Concentrations&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Cash Concentrations&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Cash is maintained at financial institutions and at
times, balances may exceed federally insured limits. We have not experienced any losses related to these balances. As of December 31,
2023, the Company had balances in a financial institution which combined exceeded federally insured limits by approximately $&lt;span id="xdx_909_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20231231_zF3MQdap36a9" title="Federally insured limits"&gt;1,948,794&lt;/span&gt;.
Any loss incurred or a lack of access to such funds could have a significant adverse impact on the Company&#x2019;s consolidated financial
condition, results of operation and cash flows.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;
















&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Significant Customers and Concentration of Credit
Risk&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company had certain customers
whose revenue individually represented 10% or more of the Company&#x2019;s total revenue, or whose accounts receivable balances individually
represented 10% or more of the Company&#x2019;s total accounts receivable, as follows:&lt;/p&gt;

&lt;p style="font: 8pt Arial, Helvetica, Sans-Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;For the year ended December 31, 2023, three customers
accounted for &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zGHcHaR8IsZe" title="Concentration risk, percentage"&gt;48&lt;/span&gt;%,
&lt;span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z7xuwhpXOB42" title="Concentration risk, percentage"&gt;30&lt;/span&gt;%,
and &lt;span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zEAx2hbkbKJ9" title="Concentration risk, percentage"&gt;11&lt;/span&gt;%
of revenues. For the year ended December 31, 2022, four customers accounted for &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zovlM5YeRNDl" title="Concentration risk, percentage"&gt;42&lt;/span&gt;%,
&lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zcVX9pOn7sdd" title="Concentration risk, percentage"&gt;18&lt;/span&gt;%,
&lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zS2jjiU3CUJ7" title="Concentration risk, percentage"&gt;14&lt;/span&gt;%
and &lt;span id="xdx_908_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zRbVhThOIvWi" title="Concentration risk, percentage"&gt;14&lt;/span&gt;%
of revenues. In all cases, there are no minimum contract values stated. Each contract covers an agreement to deliver a rail inspection
portal which, once accepted, must be paid in full, with &lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zgLnTfA5JhR9"&gt;30&lt;/span&gt;%
or more being due and payable prior to delivery. The balances of the contracts are for service and maintenance which is paid annually
in advance with revenues recorded ratably over the contract period.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At December 31, 2023, two customers accounted for
&lt;span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zBfDb7yYA6tb" title="Concentration risk, percentage"&gt;83&lt;/span&gt;%,
and &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zsXCWzCysqn1" title="Concentration risk, percentage"&gt;11&lt;/span&gt;%,
of accounts receivable. At December 31, 2022, four customers accounted for &lt;span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer1Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z5ccrrlmlLP1" title="Concentration risk, percentage"&gt;34&lt;/span&gt;%,
&lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer2Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zTDB5At17REf" title="Concentration risk, percentage"&gt;31&lt;/span&gt;%,
&lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer3Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zWWUbQ7R73yd" title="Concentration risk, percentage"&gt;19&lt;/span&gt;%
and &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--Customer4Member__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_zPZrKe5gGQBk" title="Concentration risk, percentage"&gt;10&lt;/span&gt;%
of accounts receivable. Much of the credit risk is mitigated since all of the customers listed here are Class 1 railroads with a history
of timely payments to us.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Geographic Concentration&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Approximately &lt;span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_c20230101__20231231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_zrDc6wIfUq1l" title="Concentration risk, percentage"&gt;44&lt;/span&gt;% and &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_dp_c20220101__20221231__srt--MajorCustomersAxis__custom--CustomerMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__country--US_z869YDkK91J1" title="Concentration risk, percentage"&gt;41&lt;/span&gt;% of revenue in 2023 and 2022,
respectively, is generated from customers outside of the United States.&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Significant Vendors and Concentration of
Credit Risk&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In some instances, the Company relies on a limited
pool of vendors for key components related to the manufacturing of its subsystems. These vendors are primarily focused on camera, server
and lighting technologies integral to the Company&#x2019;s solution. Where possible, the Company seeks multiple vendors for key components
to mitigate vendor concentration risk.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

















</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashUninsuredAmount
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000833"
      unitRef="USD">1948794</us-gaap:CashUninsuredAmount>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000840"
      unitRef="Pure">0.48</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000842"
      unitRef="Pure">0.30</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000844"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_Customer1Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000846"
      unitRef="Pure">0.42</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_Customer2Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000848"
      unitRef="Pure">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_Customer3Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000850"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_Customer4Member_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000852"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000853"
      unitRef="Pure">0.30</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000855"
      unitRef="Pure">0.83</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000857"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_Customer1Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000859"
      unitRef="Pure">0.34</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_Customer2Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000861"
      unitRef="Pure">0.31</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_Customer3Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000863"
      unitRef="Pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_Customer4Member_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember"
      decimals="INF"
      id="Fact000865"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US"
      decimals="INF"
      id="Fact000867"
      unitRef="Pure">0.44</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_CustomerMember_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_country_US"
      decimals="INF"
      id="Fact000869"
      unitRef="Pure">0.41</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000877">&lt;p id="xdx_847_eus-gaap--FairValueMeasurementPolicyPolicyTextBlock_z9lCOHVBVl21" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_863_zI7m7WXhXIkg"&gt;Fair Value of Financial Instruments and Fair
Value Measurements&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company follows Accounting Standards Codification
(&#x201c;ASC&#x201d;) 820, &#x201c;Fair Value Measurements and Disclosures&#x201d; (&#x201c;ASC 820&#x201d;), for assets and liabilities measured
at fair value on a recurring basis. ASC 820 establishes a common definition for fair value to be applied to existing generally accepted
accounting principles that requires the use of fair value measurements, establishes a framework for measuring fair value and expands disclosure
about such fair value measurements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;ASC&#160;820 defines fair value as the price that
would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement
date. Additionally, ASC&#160;820 requires the use of valuation techniques that maximize the use of observable inputs and minimize the
use of unobservable inputs.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;These inputs are prioritized below:&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 10%; text-align: justify"&gt;Level 1:&lt;/td&gt;
    &lt;td style="width: 90%"&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;Observable inputs such as quoted market
    prices in active markets for identical assets or liabilities&lt;/p&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 4.5pt 0 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="text-align: justify"&gt;Level 2:&lt;/td&gt;
    &lt;td&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify"&gt;Observable market-based inputs or unobservable
    inputs that are corroborated by market data&lt;/p&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.8pt 0 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="text-align: justify"&gt;Level 3:&lt;/td&gt;
    &lt;td&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Unobservable inputs for which there is little
or no market data, which require the use of the reporting entity&#x2019;s own assumptions that the market participants would use in the
valuation of the asset or liability based on the best available information.&lt;/p&gt;
    &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company analyzes all financial instruments with
features of both liabilities and equity under the Financial Accounting Standard Board&#x2019;s (&#x201c;FASB&#x201d;) accounting standard
for such instruments. Under this standard, financial assets and liabilities are classified in their entirety based on the lowest level
of input that is significant to the fair value measurement.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The estimated fair value of certain financial instruments,
including accounts receivable, prepaid expenses, accounts payable, accrued expenses and notes payable are carried at historical cost basis,
which approximates their fair values because of the short-term nature of these instruments.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="From2023-01-01to2023-12-31" id="Fact000879">&lt;p id="xdx_849_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zPQH94fN8cs1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_zseM016u5fra"&gt;Accounts Receivable&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On January 1, 2023, the Company adopted ASC 326, "Financial
Instruments - Credit Losses". In accordance with ASC 326, an allowance is maintained for estimated forward-looking losses resulting
from the possible inability of customers to make required payments (current expected losses). The amount of the allowance is determined
principally on the basis of past collection experience and known financial factors regarding specific customers.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Accounts receivable are stated at estimated net realizable
value. Accounts receivable are comprised of balances due from customers net of estimated allowances for uncollectible accounts. In determining
the collections on the account, historical trends are evaluated, and specific customer issues are reviewed to arrive at appropriate allowances.
The Company reviews its accounts to estimate losses resulting from the inability of its customers to make required payments. Any required
allowance is based on specific analysis of past due accounts and also considers historical trends of write-offs. Past due status is based
on how recently payments have been received from customers.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000881">&lt;p id="xdx_844_eus-gaap--InventoryPolicyTextBlock_zrSvM8WGjsJ8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_zW8SQpCTxEAg"&gt;Inventory&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Inventory consists primarily of spare parts and consumables
and long-lead time components to be used in the production of our technology systems or in connection with maintenance agreements with
customers. Any inventory deemed to be obsolete is written off. Inventory is stated at the lower of cost or net realizable value. Inventory
cost is primarily determined using the weighted average cost method.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000886">&lt;p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zj0Nwe7QIUcl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_863_zlunIuRRXpni"&gt;Property and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Property and equipment are stated at cost, less accumulated
depreciation. Depreciation is provided by the straight-line method over the estimated economic life of the property and equipment (three
&lt;span id="xdx_90E_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MinimumMember_zDD1NxkwAnKg" style="display: none" title="Estimated economic life of the property and equipment"&gt;3&lt;/span&gt; to five &lt;span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__srt--RangeAxis__srt--MaximumMember_zaT3mbVqX9ed" style="display: none" title="Estimated economic life of the property and equipment"&gt;5
&lt;/span&gt;years). When assets are sold or retired, their costs and accumulated depreciation are eliminated from the accounts and any gain
or loss resulting from their disposal is included in the statement of operations. Leasehold improvements are expensed over the shorter
of the term of our lease or their useful lives.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2023-12-31_srt_MinimumMember"
      id="Fact000888">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2023-12-31_srt_MaximumMember"
      id="Fact000890">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000892">&lt;p id="xdx_843_eus-gaap--ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_zIfAonS06TA8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_z3wzTvenYp4f"&gt;Software Development Costs&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Software development costs incurred prior to
establishing technological feasibility are charged to operations and included in research and development costs. The technological feasibility
of a software product is established when the Company has completed all planning, designing, coding, and testing activities that are necessary
to establish that the product meets its design specifications, including functionality, features, and technical performance requirements.
Software development costs incurred after establishing technological&#160;feasibility for software sold as a perpetual license, as defined
within ASC 985-20 (Software &#x2013; Costs of Software to be Sold, Leased, or Marketed) are capitalized and amortized on a product-by-product
basis when the product is available for general release to customers. Software development costs are evaluated for impairment annually by comparing the net realizable value to the unamortized
capitalization costs and writing these costs down to net realizable value.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock>
    <duot:PatentsAndTrademarksPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000894">&lt;p id="xdx_848_ecustom--PatentsAndTrademarksPolicyTextBlock_z0F57Zo0O0sk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_867_ztrU0S0u2Xtk"&gt;Patents and Trademarks&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Patents and trademarks which are stated at amortized
cost, relate to the development of video surveillance security system technology and are being amortized over &lt;span id="xdx_902_eus-gaap--PropertyPlantAndEquipmentUsefulLife_iI_dtY_c20231231__us-gaap--IndefiniteLivedIntangibleAssetsByMajorClassAxis__custom--PatentsAndTrademarksMember_zMJChkBjc8hj" title="Estimated economic life of the property and equipment"&gt;17&lt;/span&gt; years.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</duot:PatentsAndTrademarksPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="AsOf2023-12-31_custom_PatentsAndTrademarksMember"
      id="Fact000896">P17Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <duot:LonglivedAssetsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000898">&lt;p id="xdx_84C_ecustom--LonglivedAssetsTextBlock_zqtK3pJaGOe2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86F_zvjjsMs4HA7c"&gt;Long-Lived Assets&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company evaluates the recoverability of its property,
equipment, and other long-lived assets in accordance with FASB ASC 360-10-35-15 &#x201c;Impairment or Disposal of Long-Lived Assets&#x201d;,
which requires recognition of impairment of long-lived assets in the event the net book values of such assets exceed the estimated future
undiscounted cash flows attributable to such assets or the business to which such intangible assets relate. This guidance requires that
long-lived assets and certain identifiable intangibles be reviewed for impairment whenever events or changes in circumstances indicate
that the carrying amount of an asset may not be recoverable. Recoverability of assets to be held and used is measured by a comparison
of the carrying amount of an asset to future undiscounted net cash flows expected to be generated by the asset. If such assets are considered
to be impaired, the impairment to be recognized is measured by the amount by which the carrying amount of the assets exceeds the fair
value of the assets. Assets to be disposed of are reported at the lower of the carrying amount or fair value less costs to sell.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</duot:LonglivedAssetsTextBlock>
    <us-gaap:GuaranteesIndemnificationsAndWarrantiesPolicies contextRef="From2023-01-01to2023-12-31" id="Fact000900">&lt;p id="xdx_84F_eus-gaap--GuaranteesIndemnificationsAndWarrantiesPolicies_zfeofnSsdzS2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_z7W5NeSi5Uqa"&gt;Product Warranties&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has a &lt;span id="xdx_907_ecustom--ProductWarrantyPeriod_dtD_c20230101__20231231_zUkE3EHSCq86" title="Product warranty Period"&gt;90&lt;/span&gt;-day warranty period for materials
and labor after final acceptance of a project. If any parts are defective they are replaced under our vendor warranty which is usually
&lt;span id="xdx_90E_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zuENoH5e9ZM" title="Product warranty Period"&gt;12&lt;/span&gt; to &lt;span id="xdx_907_ecustom--ProductWarrantyPeriod_dtM_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zub7jm7QgrDl" title="Product warranty Period"&gt;36&lt;/span&gt; months. Final acceptance terms vary by customer. Some customers have a cure period for any material deviation and if the Company
fails or is unable to correct any deviations, a full refund of all payments made by the customer will be arranged by the Company. As of
December 31, 2023 and 2022, the warranty costs have been de-minimis, therefore no accrual of warranty liability has been made.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:GuaranteesIndemnificationsAndWarrantiesPolicies>
    <duot:ProductWarrantyPeriod contextRef="From2023-01-01to2023-12-31" id="Fact000902">P90D</duot:ProductWarrantyPeriod>
    <duot:ProductWarrantyPeriod
      contextRef="From2023-01-012023-12-31_srt_MinimumMember"
      id="Fact000904">P12M</duot:ProductWarrantyPeriod>
    <duot:ProductWarrantyPeriod
      contextRef="From2023-01-012023-12-31_srt_MaximumMember"
      id="Fact000906">P36M</duot:ProductWarrantyPeriod>
    <us-gaap:LoanCommitmentsPolicy contextRef="From2023-01-01to2023-12-31" id="Fact000908">&lt;p id="xdx_848_eus-gaap--LoanCommitmentsPolicy_zJdPJN2rFaTk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86C_zV5Osec0t4Ae"&gt;Loan Costs&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Loan costs paid to lenders, or third parties are recorded
as debt discounts to the related loans and amortized to interest expense over the loan term.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:LoanCommitmentsPolicy>
    <duot:SalesReturnPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000910">&lt;p id="xdx_842_ecustom--SalesReturnPolicyTextBlock_zim7mza9X18j" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_zp4sRIgABlwi"&gt;Sales Returns&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Our systems are sold as integrated systems and there
are no sales returns allowed.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</duot:SalesReturnPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000912">&lt;p id="xdx_84D_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zPOCJzKA4q6k" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86E_zgCQFOQ7o79f"&gt;Revenue Recognition&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company follows Accounting Standards Codification
606, Revenue from Contracts with Customers (&#x201c;ASC 606&#x201d;), that affects the timing of when certain types of revenues will be
recognized. The basic principles in ASC 606 include the following: a contract with a customer creates distinct contract assets and performance
obligations, satisfaction of a performance obligation creates revenue, and a performance obligation is satisfied upon transfer of control
to a good or service to a customer.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Revenue is recognized by evaluating our revenue contracts
with customers based on the five-step model under ASC 606:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;1.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Identify the contract with the customer;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;2.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Identify the performance obligations in the contract;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;3.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Determine the transaction price;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;4.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Allocate the transaction price to separate performance obligations; and&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 24px"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 24px"&gt;5.&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;Recognize revenue when (or as) each performance obligation is satisfied.&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company generates revenue from four sources: (1)
Technology Systems; (2) AI Technologies; (3) Technical Support and (4) Consulting services.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Technology Systems&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;For revenues related to technology systems, the Company
recognizes revenue over time using a cost-based input methodology in which significant judgment is required to estimate costs to complete
projects. These estimated costs are then used to determine the progress towards contract completion and the corresponding amount of revenue
to recognize.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Accordingly, the Company now bases its revenue recognition
on ASC 606-10-25-27, where control of a good or service transfers over time if the entity&#x2019;s performance does not create an asset
with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date including a
profit margin or reasonable return on capital. Control is deemed to pass to the customer instantaneously as the goods are manufactured
and revenue is recognized accordingly.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In addition, the Company has adopted ASC 606-10-55-21
such that if the cost incurred is not proportionate to the progress in satisfying the performance obligation, we adjust the input method
to recognize revenue only to the extent of the cost incurred. Therefore, the Company will recognize revenue at an equal amount to the
cost of the goods to satisfy the performance obligation. To accurately reflect revenue recognition based on the input method, the Company
has adopted the implementation guidance as set out in ASC-606-10-55-187 through 192.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Under this method, contract revenues are recognized
over the performance period of the contract in direct proportion to the costs incurred. Costs include direct material, direct labor, subcontract
labor and other allocable indirect costs. All un-allocable indirect costs and corporate general and administrative costs are also charged
to the periods as incurred. Any recognized revenues that have not been billed to a customer are recorded as an asset in &#x201c;contract
assets&#x201d;. Any billings of customers more than recognized revenues are recorded as a liability in &#x201c;contract liabilities&#x201d;.
However, in the event a loss on a contract is foreseen, the Company will recognize the loss when such loss is determined to be both probable and reasonably estimable.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;AI Technologies&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has revenue from applications that incorporate
artificial intelligence (AI) in the form of predetermined algorithms which provide important operating information to the users of our
systems. The revenue generated from these applications of AI consists of a fixed fee related to the design, development, testing and incorporation
of new algorithms into the system, which is recognized as revenue at a point in time upon acceptance, as well as an annual application
maintenance fee, which is recognized as revenue ratably over the contracted maintenance term.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Technical Support&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Technical support services are provided on both an
as-needed and extended-term basis and may include providing both parts and labor. Maintenance and technical support provided outside of
a maintenance contract are on an &#x201c;as-requested&#x201d; basis, and revenue is recognized over time as the services are provided. Revenue
for maintenance and technical support provided on an extended-term basis is recognized over time ratably over the term of the contract.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Consulting Services&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s consulting services business generates
revenues under contracts with customers from four sources: (1) Professional Services (consulting and auditing); (2) Software licensing
with optional hardware sales; (3) Customer service training and (4) Maintenance support.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;(1) Revenues for professional services,
which are of short-term duration, are recognized when services are completed;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;(2) For all periods reflected in this report,
software license sales have been one-time sales of a perpetual license to use our software product and the customer also has the option
to purchase third-party manufactured handheld devices from us if they purchase our software license. Accordingly, the revenue is recognized
upon delivery of the software and delivery of the hardware, as applicable, to the customer;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;(3) Training sales are one-time upfront
short-term training sessions and are recognized after the service has been performed; and&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;(4) Maintenance/support is an optional product
sold to our software license customers under one-year contracts. Accordingly, maintenance payments received upfront are deferred and recognized
over the contract term.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <duot:MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000920">&lt;p id="xdx_847_ecustom--MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock_zZz5gFzVpcDk" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span id="xdx_862_zVnP06OFRFW8"&gt;Multiple Performance Obligations and Allocation
of Transaction Price&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Arrangements with customers may involve multiple performance
obligations including project revenue and maintenance services in our Technology Systems business. Maintenance will occur after the project
is completed and may be provided on an extended-term basis or on an as-needed basis. In our consulting services business, multiple performance
obligations may include any of the above four sources. Training and maintenance on software products may occur after the software product
sale while other services may occur before or after the software product sale and may not relate to the software product. Revenue recognition
for a multiple performance obligations arrangement is as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Each performance obligation is accounted for separately
when each has value to the customer on a standalone basis and there is Company specific objective evidence of the selling price of each
deliverable. For revenue arrangements with multiple deliverables, the Company allocates the total customer arrangement to the separate
units of accounting based on their relative selling prices as determined by the price of the items when sold separately. Once the selling
price is allocated, the revenue for each performance obligation is recognized using the applicable criteria under GAAP as discussed above
for performance obligations sold in single performance obligation arrangements. A delivered item or items that do not qualify as a separate
unit of accounting within the arrangement are combined with the other applicable undelivered items within the arrangement. The allocation
of arrangement consideration and the recognition of revenue is then determined for those combined deliverables as a single unit of accounting.
The Company sells its various services and software and hardware products at established prices on a standalone basis which provides Company
specific objective evidence of selling price for purposes of performance obligations relative selling price allocation. The Company only
sells maintenance services or spare parts based on its established rates after it has completed a system integration project for a customer.
The customer is not required to purchase maintenance services. All elements in multiple performance obligations arrangements with Company
customers qualify as separate units of account for revenue recognition purposes.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</duot:MultiplePerformanceObligationsAndAllocationOfTransactionPricePolicyTextBlock>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000922">&lt;p id="xdx_84C_eus-gaap--AdvertisingCostsPolicyTextBlock_zoIXVg8nXDrb" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_zRdxLxwmpvog"&gt;Advertising&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company expenses the cost of advertising.
During the years ended December 31, 2023 and 2022, there were &lt;span id="xdx_903_eus-gaap--AdvertisingExpense_pp0p0_do_c20230101__20231231_zAS1TJJEfKg7" title="Advertising costs"&gt;&lt;span id="xdx_904_eus-gaap--AdvertisingExpense_pp0p0_do_c20220101__20221231_zcyTeVx4V0T1" title="Advertising costs"&gt;no&lt;/span&gt;&lt;/span&gt; advertising costs.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000924"
      unitRef="USD">0</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact000926"
      unitRef="USD">0</us-gaap:AdvertisingExpense>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000931">&lt;p id="xdx_849_eus-gaap--ShareholdersEquityAndShareBasedPaymentsTextBlock_zUZ26uXEVFmg" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_86F_zZ2LrI0Vm7zj"&gt;Stock Based Compensation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company accounts for employee and non-employee
stock-based compensation in accordance with ASC 718-10, &#x201c;&lt;i&gt;Share-Based Payment&lt;/i&gt;,&#x201d; which requires the measurement and recognition
of compensation expense for all share-based payment awards made to employee and directors including stock options, restricted stock units,
and employee stock purchases based on estimated fair values. The stock-based compensation carries a graded vesting feature subject to the condition of time of employment service
with awarded stock-based compensation tranches vesting evenly upon the anniversary date of the award.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company estimates the fair value of stock options
granted using the Black-Scholes option-pricing formula. In accordance with ASC 718-10-35-8, the Company elected to recognize the fair
value of the stock award using the graded vesting method as time of employment service is the criteria for vesting.  The Company&#x2019;s
determination of fair value using an option-pricing model is affected by the stock price as well as assumptions regarding a number of
highly subjective variables.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company estimates volatility based upon the
historical stock price of the Company and estimates the expected term for stock options using the simplified method for employees
and directors and the contractual term for non-employees. The risk-free rate is determined based upon the prevailing rate of United States
Treasury securities with similar maturities.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000933">&lt;p id="xdx_849_eus-gaap--IncomeTaxPolicyTextBlock_zKFT4vOmoK1j" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_zGi6iWpQ5yx"&gt;Income Taxes&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company accounts for income taxes in accordance
with the Financial Accounting Standards Board FASB Accounting Standards Codification (&#x201c;ASC&#x201d;) 740, Income Taxes, which requires
the recognition of deferred income taxes for differences between the basis of assets and liabilities for financial statement and income
tax purposes. The deferred tax assets and liabilities represent the future tax return consequences of those differences, which will either
be taxable or deductible when the assets and liabilities are recovered or settled. Valuation allowances are established when necessary
to reduce deferred tax assets to the amount expected to be realized.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company evaluates all significant tax positions
as required by ASC 740. As of December 31, 2023, the Company does not believe that it has taken any positions that would require the recording
of any additional tax liability, nor does it believe that there are any unrealized tax benefits that would either increase or decrease
within the next year.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Any penalties and interest assessed by income
taxing authorities are included in operating expenses.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The federal and state income tax returns of the
Company are subject to examination by the IRS and state taxing authorities, generally for three years after they were filed. Tax years
2020, 2021 and 2022 remain open for potential audit.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000935">&lt;p id="xdx_844_eus-gaap--EarningsPerSharePolicyTextBlock_zzof3cmLpjul" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_861_zpIRIonjKT7"&gt;Earnings (Loss) Per Share&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Basic earnings per share (EPS) are computed by dividing
the net loss applicable to common stock by the weighted average number of common shares outstanding. Diluted net loss per common share
is computed by dividing the net loss applicable to common stock by the weighted average number of common shares outstanding for the period
and, if dilutive, potential common shares outstanding during the period. Potential common shares consist of the incremental common shares
issuable upon the exercise or conversion of stock options, stock warrants, convertible debt instruments, convertible preferred stock or
other common stock equivalents. Potentially dilutive securities are excluded from the computation if their effect is anti-dilutive.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At December 31, 2023, there were (i) an aggregate
of &lt;span id="xdx_903_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember_zSTHbBwN048j" title="Outstanding warrants"&gt;44,644&lt;/span&gt; outstanding warrants to purchase shares of common stock, (ii) employee stock options to purchase an aggregate of &lt;span id="xdx_90C_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zpQY2Wv5km93" title="Number of incentive stock options"&gt;1,387,775&lt;/span&gt; shares
of common stock, (iii) &lt;span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zuFJuLf0um82" title="Common shares issuable conversion"&gt;433,000&lt;/span&gt; common shares issuable upon conversion of Series D Convertible Preferred Stock, (iv) &lt;span id="xdx_90B_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zv9lRPYmCOMb" title="Common shares issuable conversion"&gt;3,833,334&lt;/span&gt; common shares
issuable upon conversion of Series E Convertible Preferred Stock, and (v) &lt;span id="xdx_90E_ecustom--ConversionOfStockSharesConverted_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zi9kjnrsrFNf" title="Common shares issuable conversion"&gt;0&lt;/span&gt; common shares issuable upon conversion of Series F Convertible
Preferred Stock, all of which were excluded from the computation of diluted net earnings per share because their inclusion would have
been anti-dilutive.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At December 31, 2022, there was an aggregate of &lt;span id="xdx_902_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20221231_zpfA2R77oYId" title="Outstanding warrants"&gt;147,591&lt;/span&gt;
outstanding warrants to purchase shares of common stock aggregate of &lt;span id="xdx_906_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers_iI_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zj75AjQJoNli" title="Number of incentive stock options"&gt;926,266&lt;/span&gt;
employee stock options to purchase shares of common stock, and &lt;span id="xdx_908_ecustom--ConversionOfStockSharesConverted_c20220101__20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zGAUfZXW0TBi" title="Common shares issuable conversion"&gt;433,000&lt;/span&gt;
common shares were issuable upon conversion of Series D Convertible Preferred Stock, all of which were excluded from the computation
of diluted net  earnings per share because their inclusion would have been anti-dilutive.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember5618031"
      decimals="INF"
      id="Fact000937"
      unitRef="Shares">44644</us-gaap:ClassOfWarrantOrRightOutstanding>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact000939"
      unitRef="Shares">1387775</duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers>
    <duot:ConversionOfStockSharesConverted
      contextRef="From2023-01-012023-12-31_custom_SeriesDConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact000941"
      unitRef="Shares">433000</duot:ConversionOfStockSharesConverted>
    <duot:ConversionOfStockSharesConverted
      contextRef="From2023-01-012023-12-31_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact000943"
      unitRef="Shares">3833334</duot:ConversionOfStockSharesConverted>
    <duot:ConversionOfStockSharesConverted
      contextRef="From2023-01-012023-12-31_custom_SeriesFConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact000945"
      unitRef="Shares">0</duot:ConversionOfStockSharesConverted>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact000947"
      unitRef="Shares">147591</us-gaap:ClassOfWarrantOrRightOutstanding>
    <duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact000949"
      unitRef="Shares">926266</duot:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumbers>
    <duot:ConversionOfStockSharesConverted
      contextRef="From2022-01-012022-12-31_custom_SeriesDConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact000951"
      unitRef="Shares">433000</duot:ConversionOfStockSharesConverted>
    <us-gaap:LesseeLeasesPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000956">&lt;p id="xdx_849_eus-gaap--LesseeLeasesPolicyTextBlock_zDdVkFIJg1g9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_868_zcAobCWG10M9"&gt;Leases&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company follows ASC 842 &#x201c;Leases&#x201d;.
This guidance requires lessees to recognize right-of-use (&#x201c;ROU&#x201d;) assets and lease liabilities for most operating leases. In
addition, this guidance requires that lessors separate lease and non-lease components in a contract in accordance with the revenue guidance
in ASC 606.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company made an accounting policy election
to not recognize short-term leases with terms of twelve months or less on the balance sheet and instead recognize the lease payments in
expense as incurred. The Company has also elected to account for real estate leases that contain both lease and non-lease components as
a single lease component.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At the inception of a contract the Company assesses
whether the contract is, or contains, a lease. The Company&#x2019;s assessment is based on: (1) whether the contract involves the use of
a distinct identified asset, (2) whether we obtain the right to substantially all the economic benefit from the use of the asset throughout
the period, and (3) whether we have the right to direct the use of the asset.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Operating ROU assets represent the right to use
the leased asset for the lease term and operating lease liabilities are recognized based on the present value of minimum lease payments
over the lease term at commencement date. As most leases do not provide an implicit rate, the Company uses an incremental borrowing rate
based on the information available at the lease commencement date to determine the present value of future payments. The lease term includes
all periods covered by renewal and termination options where the Company is reasonably certain to exercise the renewal options or not
to exercise the termination options. Operating lease expense is recognized on a straight-line basis over the lease term and is included
in general and administration expenses in the consolidated statements of operations.&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000958">&lt;p id="xdx_841_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zvJ2DrZ7RHa1" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;&lt;span id="xdx_862_zQEEbeDc8gPd"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;From time to time, the FASB or other standards setting
bodies will issue new accounting pronouncements. Updates to the FASB ASC are communicated through issuance of an Accounting Standards
Update (&#x201c;ASU&#x201d;).&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In August 2020, the FASB issued an accounting pronouncement
(ASU 2020-06) related to the measurement and disclosure requirements for convertible instruments and contracts in an entity's own equity.
The pronouncement simplifies and adds disclosure requirements for the accounting and measurement of convertible instruments and the settlement
assessment for contracts in an entity's own equity. This pronouncement is effective for fiscal years, and for interim periods within those
fiscal years, beginning after December 15, 2023. The Company early adopted this pronouncement for our fiscal year beginning January 1,
2022, and it did not have a material effect on our audited consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In May 2021, the FASB issued an accounting pronouncement
(ASU 2021-04) related to modifications or exchanges of freestanding equity-classified written call options (such as warrants) that remain
equity classified after modification or exchange. The pronouncement states that an entity should treat the modification as an exchange
of the original instrument for a new instrument, and the effect of the modification should be calculated as the difference between the
fair value of the modified instrument and the fair value of that instrument immediately before modification. An entity should then recognize
the effect of the modification on the basis of the substance of the transaction, in the same manner as if cash had been paid as consideration.
This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2021.
The pronouncement is applied prospectively to all modifications that occur after the initial date of adoption. We adopted this pronouncement
for our fiscal year beginning January 1, 2022, and it did not have a material effect on our audited consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span&gt;In March 2022,
the FASB issued ASU No. 2022-02,&#160;&lt;i&gt;Financial Instruments-Credit Losses (Topic 326): Troubled Debt Restructurings and Vintage Disclosures&lt;/i&gt;.
The guidance was issued as improvements to ASU No. 2016-13. The vintage disclosure changes require an entity to disclose
current-period gross write-offs by year of origination for financing receivables. The guidance is effective for financial statements issued
for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years. The amendments should be applied prospectively.
Early adoption of the amendments is permitted, including adoption in an interim period. The amendments will impact our disclosures but
will not otherwise impact the consolidated financial statements. During 2023, the Company adopted a policy related to Topic 326 whereby
it periodically reviews the collectability and historical write-offs, if any, to evaluate the need for any credit losses or an allowance.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify"&gt;In November 2023, the FASB issued ASU 2023-07
Segment Reporting (Topic 280): &lt;i&gt;Improvements to Reportable Segment Disclosures&lt;/i&gt;. ASU 2023-07 requires companies to disclose significant
segment expenses that are regularly provided to the chief operating decision maker. ASU 2023-07 is effective for annual periods beginning
on January 1, 2024 and interim periods beginning on January 1, 2025. ASU 2023-07 must be applied retrospectively to all prior periods
presented in the financial statements. The Company is evaluating the disclosure impact of ASU 2023-07; however, the standard will not
have an impact on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify"&gt;In December 2023, the FASB issued ASU
No. 2023-09 Income Taxes (Topic 740): &lt;i&gt;Improvements to Income Tax Disclosures&lt;/i&gt;. ASU 2023-09 requires companies to disclose, on an
annual basis, specific categories in the effective tax rate reconciliation and provide additional information for reconciling items that
meet a quantitative threshold. Further, ASU 2023-09 requires companies to disclose additional information about income taxes paid. ASU
2023-09 is effective for annual periods beginning January 1, 2025 and will be applied on a prospective basis with the option to apply
the standard retrospectively. The Company is evaluating the disclosure impact of ASU 2023-09; however, the standard will not have an
impact on the Company&#x2019;s consolidated financial statements.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0"&gt;Management does not believe that any other recently issued, but not
yet effective accounting pronouncements, if adopted, would have a material effect on the accompanying financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;













</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SubstantialDoubtAboutGoingConcernTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000964">&lt;p id="xdx_80F_eus-gaap--SubstantialDoubtAboutGoingConcernTextBlock_z98iIFgH9H77" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 2 &#x2013; &lt;span id="xdx_829_zwxB5Zsx4Swi"&gt;LIQUIDITY&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Under Accounting Codification ASC 205, Presentation
of Financial Statements&#x2014;Going Concern (Subtopic 205-40) (&#x201c;ASC 205-40&#x201d;), the Company has the responsibility to evaluate
whether conditions and/or events raise substantial doubt about its ability to meet its future financial obligations as they become due
within one year after the date that the financial statements are issued. As required by ASC 205-40, this evaluation shall initially not
take into consideration the potential mitigating effects of plans that have not been fully implemented as of the date the financial statements
are issued. Management has assessed the Company&#x2019;s ability to continue as a going concern in accordance with the requirement of ASC
205-40.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As reflected in the accompanying consolidated financial
statements, the Company had a net loss of $&lt;span id="xdx_90F_eus-gaap--ProfitLoss_c20230101__20231231_zJPcc6Lgmq71" title="Net loss"&gt;11,241,718&lt;/span&gt; for the year ended December 31, 2023. During the same period, cash used in operating
activities was $8,746,564. The working capital surplus and accumulated deficit as of December 31, 2023, were $&lt;span id="xdx_901_ecustom--WorkingCapitalSurplus_iI_pp0p0_c20231231_zbZjLMTrg0vb" title="Working capital surplus"&gt;3,009,842&lt;/span&gt; and $&lt;span id="xdx_909_eus-gaap--RetainedEarningsAccumulatedDeficit_iNI_di_c20231231_zX0sVF9EvEK2" title="Accumulated deficit"&gt;63,603,552&lt;/span&gt;,
respectively. In previous financial reports, the Company had raised substantial doubt about continuing as a going concern. This was principally
due to a lack of working capital prior to an underwritten offerings and a private placement which were completed during the first, third
and fourth quarters of 2022, the first, third and fourth quarters of 2023, as well as the first quarter of 2024.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As previously noted, the Company was successful during
2023 in raising gross proceeds of over $11,500,000 from the sale of Series E and F Preferred Stock. Additionally, late in the first quarter
of 2024, the Company raised gross proceeds of $2,745,000 from the issuance of a combination of Series D and E Preferred Stock (See Note
17). As part of its strategy, the Company will endeavor to utilize the Preferred Series E and the remainder of the Series D as additional
funding mechanisms. Additionally, during the second quarter of 2024, the Company will again have access to its S-3 &#x201c;shelf registration&#x201d;
statement allowing the Company to sell additional common shares. At the time of this document, the Company estimates that it has available
capacity on its shelf registration which it can utilize to bolster working capital and growth of the business in the event it did not
have an uptake in the preferred classes of shares previously noted. Although additional investment is not assured, the Company is comfortable
that it would be able to raise sufficient capital to support expanded operations based on an anticipated increase in business activity.
In the long run, the continuation of the Company as a going concern is dependent upon the ability of the Company to continue executing
its business plan, generate enough revenue, and attain consistently profitable operations. Although the lingering effects of the global
pandemic related to the coronavirus (Covid-19) previously effected our operations, particularly in our supply chain, we now believe that
 the supply chain lags  have largely been abated. We have analyzed our cash flow under &#x201c;stress test&#x201d; conditions
and have determined that we have sufficient liquid assets on hand or available via the capital markets to maintain operations for at least
twelve months from the issuance date of this report.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In addition, management has taken and continues to
take actions including, but not limited to, elimination of certain costs that do not contribute to short term revenue, and re-aligning
both management and staffing with a focus on improving certain skill sets necessary to build growth and profitability and focusing product
strategy on opportunities that are likely to bear results in the relatively short term. The Company believes that, with the combination
of commercial sales success, Series E Preferred Stock offering coupled with an S-3 shelf registration availability starting in the second
quarter of 2024, it will have sufficient working capital to meet its obligations over the following twelve months. In the last twelve
months the Company has seen growth in its contracted backlog as well as significant, positive signs from new commercial projects that
indicate improvements in future revenues.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Management believes that, at this time, the conditions
in our market space with ongoing contract delays and the additional time needed to execute on new contracts previously reported have put
a strain on our cash reserves. However, recent private placements as well as the availability to raise capital via its shelf registration
indicate there is no substantial doubt for the Company to continue as a going concern for a period of twelve months. We continue executing
the plan to grow our business and achieve profitability. The Company may selectively look at opportunities for fund raising in the future.
Management has extensively evaluated our requirements for the next 12 months and has determined that the Company currently has sufficient
cash and access to capital to operate for at least that period.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;While no assurance can be provided, management believes
that these actions provide the opportunity for the Company to continue as a going concern and to grow its business and achieve profitability
with access to additional capital funding. Ultimately the continuation of the Company as a going concern is dependent upon the ability
of the Company to continue executing the plan described above which was put in place in late 2022 and will continue in 2024 and beyond.
As a result, we expect to generate sufficient revenue and to attain profitable operations with minimal cash use in the next 12-18 months.
These consolidated financial statements do not include any adjustments related to the recoverability and classification of recorded asset
amounts and classification of liabilities that might be necessary should the Company be unable to continue as a going concern.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











</us-gaap:SubstantialDoubtAboutGoingConcernTextBlock>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact000966"
      unitRef="USD">11241718</us-gaap:ProfitLoss>
    <duot:WorkingCapitalSurplus
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000968"
      unitRef="USD">3009842</duot:WorkingCapitalSurplus>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000970"
      unitRef="USD">-63603552</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000975">&lt;p id="xdx_80D_eus-gaap--LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_zj4LXbzTMLx" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 3 &#x2013; &lt;span id="xdx_82F_z1iNrkwmQHN7"&gt;ACCOUNTS RECEIVABLE&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Accounts receivable were as follows at December
31, 2023 and 2022:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_88E_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zdqyjlGCJyLh" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B6_ztNI79kOhA9d" style="display: none"&gt;Schedule of accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20231231_zdic5sssGdH9" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20221231_zsCfFJTWt6R3" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--AccountsReceivableGross_iI_pp0p0_maARNzo6Q_zobWWKnxuC68" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;1,462,463&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,418,263&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--AllowanceForDoubtfulAccountsReceivable_iNI_pp0p0_msARNzo6Q_zFZuDqiFF5Ma" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Allowance for doubtful accounts&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0982"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0983"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--AccountsReceivableNet_iTI_pp0p0_mtARNzo6Q_zDGRiafeo9p8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Accounts Receivable, Net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,462,463&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,418,263&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;There was no bad debt expense during the year ended
December 31, 2023 and 2022.&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000977">&lt;table cellpadding="0" cellspacing="0" id="xdx_88E_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zdqyjlGCJyLh" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - ACCOUNTS RECEIVABLE (Details- Accounts receivable)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B6_ztNI79kOhA9d" style="display: none"&gt;Schedule of accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20231231_zdic5sssGdH9" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20221231_zsCfFJTWt6R3" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--AccountsReceivableGross_iI_pp0p0_maARNzo6Q_zobWWKnxuC68" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;1,462,463&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,418,263&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--AllowanceForDoubtfulAccountsReceivable_iNI_pp0p0_msARNzo6Q_zFZuDqiFF5Ma" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Allowance for doubtful accounts&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0982"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0983"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--AccountsReceivableNet_iTI_pp0p0_mtARNzo6Q_zDGRiafeo9p8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Accounts Receivable, Net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,462,463&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,418,263&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000979"
      unitRef="USD">1462463</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000980"
      unitRef="USD">3418263</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000985"
      unitRef="USD">1462463</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000986"
      unitRef="USD">3418263</us-gaap:AccountsReceivableNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000988">&lt;p id="xdx_800_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zyfbYjo1kym9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 4 &#x2013; &lt;span id="xdx_822_zCcl3EVetx7e"&gt;PROPERTY AND EQUIPMENT&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The major classes of property and equipment are as
follows at December 31, 2023 and 2022:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_895_eus-gaap--PropertyPlantAndEquipmentTextBlock_zSroC8Pw23o4" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td id="xdx_8BE_zw7kD5yJAAi3" style="font-weight: bold; text-align: left"&gt;&lt;b style="display: none"&gt;Schedule of property and equipment&lt;/b&gt;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20231231_z3DJmEd3N4Ya" style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20221231_zD6lYj3gdk9f" style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Furniture &amp;amp; Fixtures&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_z4ywLAYtTIVi" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross"&gt;132,018&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_zZZMHpEJExLg" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross"&gt;115,238&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Tools and Equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4akS7XLUDvc" style="text-align: right" title="Property, Plant and Equipment, Gross"&gt;1,291,673&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4oJQIifsfef" style="text-align: right" title="Property, Plant and Equipment, Gross"&gt;1,162,568&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Leasehold Improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zZwDqXFXjwM6" style="text-align: right" title="Property, Plant and Equipment, Gross"&gt;298,004&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zivNWbK0FHh2" style="text-align: right" title="Property, Plant and Equipment, Gross"&gt;228,404&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Internal Use Software&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zwew147WUeJd" style="border-bottom: Black 1pt solid; text-align: right" title="Property, Plant and Equipment, Gross"&gt;381,441&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBj0MIOBu9ee" style="border-bottom: Black 1pt solid; text-align: right" title="Property, Plant and Equipment, Gross"&gt;100,241&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_zzA8q4sHRage" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: rgb(204,238,255); font-weight: bold"&gt;Property, Plant and Equipment, Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,103,136&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,606,451&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_zwF5bTlvIKm9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,376,629&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(976,961&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_zgmn9NhVZGoc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Property, Equipment and Software, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;726,507&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;629,490&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;Internal Use Software consisted of the following:&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%"&gt;Internal Use Software&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zJQO5zbMxIg2" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross"&gt;381,441&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zHlPraGCr9k6" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross"&gt;100,241&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zcMsWUUtSDR1" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation"&gt;(133,149&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zk6RSz7KRO3k" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation"&gt;(57,032&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Internal Use Software, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zW2Kt6c44Qoj" style="border-bottom: Black 2.5pt double; text-align: right" title="Property, Equipment and Software, net"&gt;248,292&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBW4nQ9nrSad" style="border-bottom: Black 2.5pt double; text-align: right" title="Property, Equipment and Software, net"&gt;43,209&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p style="margin: 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 66%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 14%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 14%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;Depreciation Expense:&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Property and equipment, excluding internal use software&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zpm4CM9nJSj6" style="text-align: right" title="Depreciation Expense"&gt;315,686&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z0jR055Lv5G4" style="text-align: right" title="Depreciation Expense"&gt;262,895&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Software amortization expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z8WBzqpgLCa7" style="text-align: right" title="Depreciation Expense"&gt;84,328&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z1fNkL9oFBz" style="text-align: right" title="Depreciation Expense"&gt;57,033&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8A1_zvC5ebZqEfYj" style="margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="margin: 0"&gt;The following is a schedule of estimated future depreciation expense of software at December 31, 2023:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z2pV4Ah2fEp1" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_8B0_z40gVXtuwdx7" style="display: none; vertical-align: bottom; text-align: left"&gt;Schedule of estimated future depreciation expense of software&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; width: 48%; text-align: left"&gt;2024&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zedjRnf0dtq6" style="width: 47%; text-align: right" title="2024"&gt;100,952&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: left"&gt;2025&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z16I3ZHIbOMa" style="text-align: right" title="2025"&gt;103,716&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;2026&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zgKAqTaIRNcc" style="border-bottom: Black 1pt solid; text-align: right" title="2026"&gt;43,624&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zH4clpDAjkc4" style="border-bottom: Black 2.5pt double; text-align: right" title="Finite lived intangible assets"&gt;248,292&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"&gt;&lt;/p&gt;


&lt;p id="xdx_8A1_zDLDf6kwU4tc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Depreciation &lt;span style="letter-spacing: -0.15pt"&gt;expense
&lt;/span&gt;in 2023 and 2022 was $&lt;span id="xdx_900_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231_z9G4OrPJU9wi" title="Depreciation expense"&gt;315,686&lt;/span&gt; and $&lt;span id="xdx_907_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231_zYdmoGKydlU7" title="Depreciation expense"&gt;267,959&lt;/span&gt;, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact000990">&lt;table cellpadding="0" cellspacing="0" id="xdx_895_eus-gaap--PropertyPlantAndEquipmentTextBlock_zSroC8Pw23o4" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Major classes of property and equipment)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td id="xdx_8BE_zw7kD5yJAAi3" style="font-weight: bold; text-align: left"&gt;&lt;b style="display: none"&gt;Schedule of property and equipment&lt;/b&gt;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20231231_z3DJmEd3N4Ya" style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20221231_zD6lYj3gdk9f" style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Furniture &amp;amp; Fixtures&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_z4ywLAYtTIVi" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross"&gt;132,018&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--FurnitureAndFixturesMember_zZZMHpEJExLg" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross"&gt;115,238&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Tools and Equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4akS7XLUDvc" style="text-align: right" title="Property, Plant and Equipment, Gross"&gt;1,291,673&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_z4oJQIifsfef" style="text-align: right" title="Property, Plant and Equipment, Gross"&gt;1,162,568&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Leasehold Improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zZwDqXFXjwM6" style="text-align: right" title="Property, Plant and Equipment, Gross"&gt;298,004&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zivNWbK0FHh2" style="text-align: right" title="Property, Plant and Equipment, Gross"&gt;228,404&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Internal Use Software&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zwew147WUeJd" style="border-bottom: Black 1pt solid; text-align: right" title="Property, Plant and Equipment, Gross"&gt;381,441&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBj0MIOBu9ee" style="border-bottom: Black 1pt solid; text-align: right" title="Property, Plant and Equipment, Gross"&gt;100,241&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_zzA8q4sHRage" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="color: rgb(204,238,255); font-weight: bold"&gt;Property, Plant and Equipment, Gross&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,103,136&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,606,451&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_zwF5bTlvIKm9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,376,629&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(976,961&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_zgmn9NhVZGoc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Property, Equipment and Software, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;726,507&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;629,490&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;Internal Use Software consisted of the following:&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%"&gt;Internal Use Software&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zJQO5zbMxIg2" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross"&gt;381,441&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zHlPraGCr9k6" style="width: 14%; text-align: right" title="Property, Plant and Equipment, Gross"&gt;100,241&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zcMsWUUtSDR1" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation"&gt;(133,149&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zk6RSz7KRO3k" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation"&gt;(57,032&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Internal Use Software, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zW2Kt6c44Qoj" style="border-bottom: Black 2.5pt double; text-align: right" title="Property, Equipment and Software, net"&gt;248,292&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_zBW4nQ9nrSad" style="border-bottom: Black 2.5pt double; text-align: right" title="Property, Equipment and Software, net"&gt;43,209&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p style="margin: 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 66%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 14%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 14%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;Depreciation Expense:&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Property and equipment, excluding internal use software&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zpm4CM9nJSj6" style="text-align: right" title="Depreciation Expense"&gt;315,686&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z0jR055Lv5G4" style="text-align: right" title="Depreciation Expense"&gt;262,895&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Software amortization expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20230101__20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z8WBzqpgLCa7" style="text-align: right" title="Depreciation Expense"&gt;84,328&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--DepreciationDepletionAndAmortization_pp0p0_c20220101__20221231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareDevelopmentMember_z1fNkL9oFBz" style="text-align: right" title="Depreciation Expense"&gt;57,033&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_FurnitureAndFixturesMember"
      decimals="0"
      id="Fact000992"
      unitRef="USD">132018</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_FurnitureAndFixturesMember"
      decimals="0"
      id="Fact000994"
      unitRef="USD">115238</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_EquipmentMember"
      decimals="0"
      id="Fact000996"
      unitRef="USD">1291673</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_EquipmentMember"
      decimals="0"
      id="Fact000998"
      unitRef="USD">1162568</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact001000"
      unitRef="USD">298004</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact001002"
      unitRef="USD">228404</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001004"
      unitRef="USD">381441</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001006"
      unitRef="USD">100241</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001008"
      unitRef="USD">2103136</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001009"
      unitRef="USD">1606451</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001011"
      unitRef="USD">1376629</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001012"
      unitRef="USD">976961</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001014"
      unitRef="USD">726507</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001015"
      unitRef="USD">629490</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001017"
      unitRef="USD">381441</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001019"
      unitRef="USD">100241</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001021"
      unitRef="USD">133149</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001023"
      unitRef="USD">57032</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001025"
      unitRef="USD">248292</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2022-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001027"
      unitRef="USD">43209</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2023-01-012023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember"
      decimals="0"
      id="Fact001029"
      unitRef="USD">315686</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-01-012022-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember"
      decimals="0"
      id="Fact001031"
      unitRef="USD">262895</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2023-01-012023-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001033"
      unitRef="USD">84328</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-01-012022-12-31_us-gaap_SoftwareDevelopmentMember"
      decimals="0"
      id="Fact001035"
      unitRef="USD">57033</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="From2023-01-012023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember"
      id="Fact001037">&lt;table cellpadding="0" cellspacing="0" id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z2pV4Ah2fEp1" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - PROPERTY AND EQUIPMENT (Details - Estimated future depreciation expense of software)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_8B0_z40gVXtuwdx7" style="display: none; vertical-align: bottom; text-align: left"&gt;Schedule of estimated future depreciation expense of software&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; width: 48%; text-align: left"&gt;2024&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zedjRnf0dtq6" style="width: 47%; text-align: right" title="2024"&gt;100,952&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: left"&gt;2025&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_z16I3ZHIbOMa" style="text-align: right" title="2025"&gt;103,716&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;2026&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zgKAqTaIRNcc" style="border-bottom: Black 1pt solid; text-align: right" title="2026"&gt;43,624&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--PropertyPlantAndEquipmentOtherTypesMember_zH4clpDAjkc4" style="border-bottom: Black 2.5pt double; text-align: right" title="Finite lived intangible assets"&gt;248,292&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"&gt;&lt;/p&gt;


</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember"
      decimals="0"
      id="Fact001039"
      unitRef="USD">100952</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember"
      decimals="0"
      id="Fact001041"
      unitRef="USD">103716</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember"
      decimals="0"
      id="Fact001043"
      unitRef="USD">43624</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2023-12-31_us-gaap_PropertyPlantAndEquipmentOtherTypesMember"
      decimals="0"
      id="Fact001045"
      unitRef="USD">248292</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001047"
      unitRef="USD">315686</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001049"
      unitRef="USD">267959</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001051">&lt;p id="xdx_80F_eus-gaap--IntangibleAssetsDisclosureTextBlock_z4cGFeU3qnf7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 5 &#x2013; &lt;span id="xdx_82F_zbpA53lVUyFe"&gt;PATENTS AND TRADEMARKS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock_zn7ezxQUCCf5" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)"&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td id="xdx_8B3_z2gEk0MrYd8d" style="display: none"&gt;Schedule of patents and trademarks&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49B_20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zmwCSmBzCn31" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_491_20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zMINAN9bOct1" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_maIANEGzIFT_zXINrs0VlYp5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%"&gt;Patents&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;395,472&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;326,145&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pp0p0_di_msIANEGzIFT_z4BaMquRan94" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(266,332&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(256,412&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pp0p0_mtIANEGzIFT_zQ66DuvjA993" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Patent, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;129,140&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;69,733&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Amortization expense in 2023 and 2022 was $&lt;span id="xdx_90F_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20230101__20231231_zlEI2uaiKPH2" title="Amortization expense"&gt;9,920&lt;/span&gt; and
$&lt;span id="xdx_90E_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20221231_zrz2560L9cP7" title="Amortization expense"&gt;13,688&lt;/span&gt;, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;














</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001053">&lt;table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock_zn7ezxQUCCf5" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - PATENTS AND TRADEMARKS (Details - Patents and trademarks)"&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td id="xdx_8B3_z2gEk0MrYd8d" style="display: none"&gt;Schedule of patents and trademarks&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49B_20231231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zmwCSmBzCn31" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_491_20221231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zMINAN9bOct1" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pp0p0_maIANEGzIFT_zXINrs0VlYp5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%"&gt;Patents&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;395,472&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;326,145&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pp0p0_di_msIANEGzIFT_z4BaMquRan94" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(266,332&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(256,412&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pp0p0_mtIANEGzIFT_zQ66DuvjA993" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Patent, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;129,140&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;69,733&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2023-12-31_us-gaap_PatentsMember"
      decimals="0"
      id="Fact001055"
      unitRef="USD">395472</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2022-12-31_us-gaap_PatentsMember"
      decimals="0"
      id="Fact001056"
      unitRef="USD">326145</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2023-12-31_us-gaap_PatentsMember"
      decimals="0"
      id="Fact001058"
      unitRef="USD">266332</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2022-12-31_us-gaap_PatentsMember"
      decimals="0"
      id="Fact001059"
      unitRef="USD">256412</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2023-12-31_us-gaap_PatentsMember"
      decimals="0"
      id="Fact001061"
      unitRef="USD">129140</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2022-12-31_us-gaap_PatentsMember"
      decimals="0"
      id="Fact001062"
      unitRef="USD">69733</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001064"
      unitRef="USD">9920</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001066"
      unitRef="USD">13688</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001072">&lt;p id="xdx_808_eus-gaap--ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_z3zauYgRdpVg" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 6 &#x2013; &lt;span&gt;&lt;span id="xdx_82D_zRWehbDWi8db"&gt;SOFTWARE
DEVELOPMENT COSTS&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock_ziuVO20nVdF7" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)"&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td id="xdx_8BF_zZGRGI5djF2e" style="display: none"&gt;Schedule of software development costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_493_20231231_zrWelByldRL9" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_498_20221231_zCkI2LTPpWE5" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--CapitalizedComputerSoftwareGross_iI_pp0p0_zw0OuzHYmLf8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Software Development&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;721,309&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;341,784&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_ecustom--ConstructionInProgress_iI_pp0p0_zatTC9720yQ" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Construction in Progress&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;148,371&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1080"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CapitalizedComputerSoftwareAccumulatedAmortization_iNI_di_zC1j9oH8QMkg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated amortization&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(216,842&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(76,576&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SoftwareDevelopmentCostsNet_iI_pp0p0_zvVcvoDBXzwc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Software Development, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;652,838&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;265,208&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;/b&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Amortization of software development costs in 2023
and 2022 was $&lt;span id="xdx_903_ecustom--AmortizationOfIntangibleAssets1_pp0p0_c20230101__20231231_zHAmcRzdyE7e" title="Amortization of software development costs"&gt;140,267&lt;/span&gt; and $&lt;span id="xdx_90B_ecustom--AmortizationOfIntangibleAssets1_pp0p0_c20220101__20221231_zMeVcR24CrCj" title="Amortization of software development costs"&gt;16,576&lt;/span&gt;, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following is a schedule of estimated future amortization expense of software at December 31, 2023:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_89F_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z2qOiPb7xvaj" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_8BF_z49rJ9V6EP9c" style="display: none; vertical-align: bottom; text-align: left"&gt;Schedule of estimated future amortization expense of software&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; width: 48%; text-align: left"&gt;2024&lt;/td&gt;&lt;td style="vertical-align: bottom; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; width: 1%; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z4xyrxPoj3Ef" style="vertical-align: bottom; width: 47%; text-align: right" title="2024"&gt;269,893&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: left"&gt;2025&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zKI1UuruBxfe" style="vertical-align: bottom; text-align: right" title="2025"&gt;252,341&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;2026&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zJokw9JyB1ai" style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: right" title="2026"&gt;130,604&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zgBqB9USMiec" style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: right" title="Finite lived intangible assets"&gt;652,838&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A8_zSfjv1qjr65d" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Depreciation of software cost in 2023 and 2022 was
$&lt;span id="xdx_908_ecustom--DepreciationOfSoftwareCost_c20230101__20231231_zwTKk7HTM8md" title="Depreciation of software cost"&gt;84,328&lt;/span&gt; and $&lt;span id="xdx_904_ecustom--DepreciationOfSoftwareCost_c20220101__20221231_zmLRGatGaded" title="Depreciation of software cost"&gt;57,033&lt;/span&gt;. respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock>
    <duot:ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001074">&lt;table cellpadding="0" cellspacing="0" id="xdx_88B_ecustom--ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock_ziuVO20nVdF7" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Software development costs)"&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td id="xdx_8BF_zZGRGI5djF2e" style="display: none"&gt;Schedule of software development costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_493_20231231_zrWelByldRL9" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_498_20221231_zCkI2LTPpWE5" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="font-size: 8pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--CapitalizedComputerSoftwareGross_iI_pp0p0_zw0OuzHYmLf8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Software Development&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;721,309&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;341,784&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_ecustom--ConstructionInProgress_iI_pp0p0_zatTC9720yQ" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Construction in Progress&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;148,371&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1080"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CapitalizedComputerSoftwareAccumulatedAmortization_iNI_di_zC1j9oH8QMkg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Accumulated amortization&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(216,842&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(76,576&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SoftwareDevelopmentCostsNet_iI_pp0p0_zvVcvoDBXzwc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Software Development, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;652,838&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;265,208&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</duot:ScheduleOfSoftwareAndSoftwareDevelopmentCostsTableTextBlock>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001076"
      unitRef="USD">721309</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001077"
      unitRef="USD">341784</us-gaap:CapitalizedComputerSoftwareGross>
    <duot:ConstructionInProgress
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001079"
      unitRef="USD">148371</duot:ConstructionInProgress>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001082"
      unitRef="USD">216842</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001083"
      unitRef="USD">76576</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <duot:SoftwareDevelopmentCostsNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001085"
      unitRef="USD">652838</duot:SoftwareDevelopmentCostsNet>
    <duot:SoftwareDevelopmentCostsNet
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001086"
      unitRef="USD">265208</duot:SoftwareDevelopmentCostsNet>
    <duot:AmortizationOfIntangibleAssets1
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001088"
      unitRef="USD">140267</duot:AmortizationOfIntangibleAssets1>
    <duot:AmortizationOfIntangibleAssets1
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001090"
      unitRef="USD">16576</duot:AmortizationOfIntangibleAssets1>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="From2023-01-012023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"
      id="Fact001092">&lt;table cellpadding="0" cellspacing="0" id="xdx_89F_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z2qOiPb7xvaj" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - SOFTWARE AND SOFTWARE DEVELOPMENT COSTS (Details - Estimated future amortization)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_8BF_z49rJ9V6EP9c" style="display: none; vertical-align: bottom; text-align: left"&gt;Schedule of estimated future amortization expense of software&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; width: 48%; text-align: left"&gt;2024&lt;/td&gt;&lt;td style="vertical-align: bottom; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; width: 1%; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_z4xyrxPoj3Ef" style="vertical-align: bottom; width: 47%; text-align: right" title="2024"&gt;269,893&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: left"&gt;2025&lt;/td&gt;&lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zKI1UuruBxfe" style="vertical-align: bottom; text-align: right" title="2025"&gt;252,341&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;2026&lt;/td&gt;&lt;td style="padding-bottom: 1pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zJokw9JyB1ai" style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: right" title="2026"&gt;130,604&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; vertical-align: bottom; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pp0p0_c20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--SoftwareAndSoftwareDevelopmentCostsMember_zgBqB9USMiec" style="border-bottom: Black 2.5pt double; vertical-align: bottom; text-align: right" title="Finite lived intangible assets"&gt;652,838&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"
      decimals="0"
      id="Fact001094"
      unitRef="USD">269893</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"
      decimals="0"
      id="Fact001096"
      unitRef="USD">252341</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"
      decimals="0"
      id="Fact001098"
      unitRef="USD">130604</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2023-12-31_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"
      decimals="0"
      id="Fact001100"
      unitRef="USD">652838</us-gaap:FiniteLivedIntangibleAssetsNet>
    <duot:DepreciationOfSoftwareCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001102"
      unitRef="USD">84328</duot:DepreciationOfSoftwareCost>
    <duot:DepreciationOfSoftwareCost
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001104"
      unitRef="USD">57033</duot:DepreciationOfSoftwareCost>
    <us-gaap:DebtDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001106">&lt;p id="xdx_808_eus-gaap--DebtDisclosureTextBlock_zl2emwf6mkIl" style="font: 10pt Times New Roman, Times, Serif; margin: 0 5.75pt 0 0; text-align: justify"&gt;&lt;b&gt;NOTE 7 &#x2013; &lt;span id="xdx_821_zwRhvO2YiWWe"&gt;DEBT&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0 5.75pt 0 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Notes Payable &#x2013; Insurance Premium
Financing Agreements&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s notes payable relating to
financing agreements classified as current liabilities consist of the following as of:&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfDebtTableTextBlock_zK75x1pxQGld" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - DEBT (Details - Notes payable - financing agreements)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B2_z2Cmk1QBcTj4" style="display: none"&gt;Schedule of notes payable&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: justify"&gt;Notes Payable&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Principal&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Interest&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Principal&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Interest&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Third Party - Insurance Note 1&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z2HQnybEi9i9" style="text-align: right" title="Notes payable, Principal"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1110"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zNffnZZEcDdl" style="text-align: right" title="Notes payable, Principal"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1112"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 48%; text-align: justify"&gt;Third Party - Insurance Note 2&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zd0M1vI97Tqe" style="width: 10%; text-align: right" title="Notes payable, Principal"&gt;39,968&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zflu7comBI0f" title="Notes payable, Interest"&gt;8.00&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zsziLDy1zaTi" style="width: 10%; text-align: right" title="Notes payable, Principal"&gt;17,753&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_90B_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zT4AYWui57p9" title="Notes payable, Interest"&gt;6.24&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Third Party - Insurance Note 3&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zEDbXSwhk6e6" style="text-align: right" title="Notes payable, Principal"&gt;2,008&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zfaP1dJx2aG4" style="text-align: right" title="Notes payable, Principal"&gt;16,094&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Third Party - Insurance Note 4&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zlkXBNge3jr1" style="border-bottom: Black 1pt solid; text-align: right" title="Notes payable, Principal"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1126"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pdp0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_z3KcW8Bag2R" style="border-bottom: Black 1pt solid; text-align: right" title="Notes payable, Principal"&gt;40,728&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zfrGcNlm9u81" style="border-bottom: Black 2.5pt double; text-align: right" title="Notes payable, Principal"&gt;41,976&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231_z8eZ9Nov4mp9" style="border-bottom: Black 2.5pt double; text-align: right" title="Notes payable, Principal"&gt;74,575&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company entered into an agreement on
December 23, 2022 with its insurance provider by issuing a $&lt;span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20221223__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zSPmHBoHXGJi" title="Notes payable outstanding balance"&gt;26,484 &lt;/span&gt;note
payable (Insurance Note 1) for the purchase of an insurance policy, secured by that policy with an annual interest rate of &lt;span id="xdx_905_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20221223__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z4ekvw0yuFRc" title="Interest rate"&gt;8.73&lt;/span&gt;%
payable in 10 monthly installments of principal and interest totaling $&lt;span id="xdx_90B_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20221222__20221223__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zNSCL3lJkq86" title="Monthly instalments of principal and interest"&gt;2,755 &lt;/span&gt;through
October 23, 2023. The balance of Insurance Note 1 as of December 31, 2023 and December 31, 2022 was zero &lt;span id="xdx_908_eus-gaap--NotesPayable_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zmBXxHdkC8Rd" title="Notes payable outstanding balance"&gt;&lt;b style="display: none"&gt;0 &lt;/b&gt;&lt;/span&gt;and
zero &lt;span id="xdx_900_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z8UbwBnW1qb9" title="Notes payable outstanding balance"&gt;&lt;b style="display: none"&gt;0 &lt;/b&gt;&lt;/span&gt;,
respectively.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company entered into an agreement on April 15,
2022 with its insurance provider by issuing a note payable (Insurance Note 2) for the purchase of an insurance policy in the amount of
$&lt;span id="xdx_90F_eus-gaap--NotesPayable_iI_pp0p0_c20220415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zPQl3AKHs3C1" title="Notes payable outstanding balance"&gt;63,766&lt;/span&gt;, secured by that policy with an annual interest rate of &lt;span id="xdx_908_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20220415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_z9iFVuy9IgH1" title="Interest rate"&gt;6.24&lt;/span&gt;% and payable in 11 monthly installments of principal and interest
totaling $&lt;span id="xdx_906_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20220414__20220415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zKxlI7mJe1Ye" title="Monthly instalments of principal and interest"&gt;5,979&lt;/span&gt;. The Company entered into an agreement on April 15, 2023 with its insurance provider by issuing a note payable (Insurance
Note 2) for the purchase of an insurance policy in the amount of $&lt;span id="xdx_906_eus-gaap--NotesPayable_iI_pp0p0_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zqCEXvx9k5yi" title="Notes payable outstanding balance"&gt;142,734&lt;/span&gt;, secured by that policy with an annual interest rate of &lt;span id="xdx_904_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zm4wCbgxc516" title="Interest rate"&gt;8.00&lt;/span&gt;%
and payable in 11 monthly installments of principal and interest totaling $&lt;span id="xdx_90B_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20230414__20230415__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zUBGwv1mAztf" title="Monthly instalments of principal and interest"&gt;13,501&lt;/span&gt;. At December 31, 2023 and December 31, 2022, the balance
of Insurance Note 2 was $&lt;span id="xdx_90D_eus-gaap--NotesPayable_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zincHPjwI02h" title="Notes payable outstanding balance"&gt;39,968&lt;/span&gt; and $&lt;span id="xdx_905_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zH361U3NrJ0b" title="Notes payable outstanding balance"&gt;17,753&lt;/span&gt;, respectively.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company entered into an agreement on September
15, 2022 with its insurance provider by issuing a note payable (Insurance Note 3) for the purchase of an insurance policy in the amount
of $&lt;span id="xdx_90A_eus-gaap--NotesPayable_iI_pp0p0_c20220915__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zWNk35m0z3X1"&gt;24,140&lt;/span&gt;.
The policy was renewed on February 3, 2023 and is payable in 12 monthly installments of $&lt;span id="xdx_903_eus-gaap--DebtInstrumentPeriodicPayment_c20230202__20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_z5MxipAvQ3Q8"&gt;2,012&lt;/span&gt;.
At December 31, 2023 and December 31, 2022, the balance of Insurance Note 3 was $&lt;span id="xdx_902_eus-gaap--NotesPayable_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_z6tWnCAAXVf2"&gt;2,008
&lt;/span&gt;and $&lt;span id="xdx_901_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zZeYh38Mzb7d"&gt;16,094&lt;/span&gt;,
respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company entered into an agreement on February
3, 2022 with its insurance provider by issuing a note payable for the purchase of an insurance policy in the amount of $&lt;span id="xdx_902_ecustom--PurchaseOfInsurancePolicy_c20220201__20220203_z5nWZQ3wpgq" title="Purchase of an insurance policy"&gt;242,591
&lt;/span&gt;with a down payment paid in the amount of $&lt;span id="xdx_90C_ecustom--DownPaymentPaid_c20220101__20220331_zVo47hZyOdUi" title="Down payment paid"&gt;41,854
&lt;/span&gt;in the first quarter of 2022 and ten monthly installments of $&lt;span id="xdx_90C_ecustom--InsuranceMonthlyInstallments_c20220101__20220331_zKCAJJb3rrll" title="Insurance monthly installments"&gt;20,073&lt;/span&gt;.
The Company received a refund on September 30, 2022 as a result of the annual audit of the policy resulting in the refund being applied
to the outstanding amount of $&lt;span id="xdx_90B_eus-gaap--ProceedsFromDepositsWithOtherInstitutions_c20220927__20220930_zbkvSURIqdG6" title="Received refund"&gt;53,175&lt;/span&gt;.
The policy renewed on February 3, 2023 and, in connection therewith, the Company issued a new note payable (Insurance Note 4) to the
insurer in the amount of $&lt;span id="xdx_900_eus-gaap--NotesPayable_iI_pp0p0_c20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zzK8zCG1YjMh" title="Notes payable outstanding balance"&gt;293,520&lt;/span&gt;; with a down payment paid in the amount
of $&lt;span id="xdx_905_ecustom--DownPaymentPaid_c20230202__20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zgNuf5S2JtMl" title="Down payment paid"&gt;125,690
&lt;/span&gt;and payable in ten monthly installments of $&lt;span id="xdx_906_eus-gaap--DebtInstrumentPeriodicPayment_pp0p0_c20230202__20230203__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zBgSiJIQfoJ4" title="Monthly installments of principal and interest"&gt;23,976&lt;/span&gt;.
At December 31, 2023 and December 31, 2022, the balance of Insurance Note 4 was zero &lt;b style="display: none"&gt;&lt;span id="xdx_90E_eus-gaap--NotesPayable_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zYIPIFOWBARi" title="Notes payable outstanding balance"&gt;0&lt;/span&gt;&lt;/b&gt; and $&lt;span id="xdx_907_eus-gaap--NotesPayable_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zkrZ11qEcng2" title="Notes payable outstanding balance"&gt;40,728&lt;/span&gt;, respectively.&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Equipment Financing&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company entered into an agreement on May 22,
2020 with an equipment financing company by issuing a $&lt;span id="xdx_905_eus-gaap--NotesPayable_iI_c20200522__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zP4HEbiRiCHb" title="Notes payable outstanding balance"&gt;121,637&lt;/span&gt;
secured note, with an annual interest rate of &lt;span id="xdx_907_eus-gaap--DerivativeFixedInterestRate_iI_dp_c20200522__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zL7SfLMym4Rg" title="Interest rate"&gt;9.90&lt;/span&gt;%
and payable in monthly installments of principal and interest totaling $&lt;span id="xdx_906_eus-gaap--DebtInstrumentPeriodicPayment_c20200521__20230601__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zRQSWMcOxuNe" title="Monthly installments of principal and interest"&gt;3,919&lt;/span&gt;
through June 1, 2023. At December 31, 2023 and December 31, 2022, the aggregate balance of these notes was zero &lt;span id="xdx_904_eus-gaap--NotesPayable_iI_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zCemnkCwhXQ2" style="display: none" title="Notes payable outstanding balance"&gt;0&lt;/span&gt; and $&lt;span id="xdx_900_eus-gaap--NotesPayable_iI_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--EquipmentFinancingMember_zoctXj9eWFTb" title="Notes payable outstanding balance"&gt;22,851&lt;/span&gt;
respectively.&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;













&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;





&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 5.75pt 0 0; text-align: justify"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001108">&lt;table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfDebtTableTextBlock_zK75x1pxQGld" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - DEBT (Details - Notes payable - financing agreements)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B2_z2Cmk1QBcTj4" style="display: none"&gt;Schedule of notes payable&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: justify"&gt;Notes Payable&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Principal&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Interest&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Principal&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Interest&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Third Party - Insurance Note 1&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_z2HQnybEi9i9" style="text-align: right" title="Notes payable, Principal"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1110"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteOneMember_zNffnZZEcDdl" style="text-align: right" title="Notes payable, Principal"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1112"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 48%; text-align: justify"&gt;Third Party - Insurance Note 2&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zd0M1vI97Tqe" style="width: 10%; text-align: right" title="Notes payable, Principal"&gt;39,968&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zflu7comBI0f" title="Notes payable, Interest"&gt;8.00&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zsziLDy1zaTi" style="width: 10%; text-align: right" title="Notes payable, Principal"&gt;17,753&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_90B_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_dp_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteTwoMember_zT4AYWui57p9" title="Notes payable, Interest"&gt;6.24&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Third Party - Insurance Note 3&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zEDbXSwhk6e6" style="text-align: right" title="Notes payable, Principal"&gt;2,008&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteThreeMember_zfaP1dJx2aG4" style="text-align: right" title="Notes payable, Principal"&gt;16,094&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Third Party - Insurance Note 4&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_zlkXBNge3jr1" style="border-bottom: Black 1pt solid; text-align: right" title="Notes payable, Principal"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1126"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OtherNotesPayableCurrent_iI_pdp0_c20221231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdPartyInsuranceNoteFourMember_z3KcW8Bag2R" style="border-bottom: Black 1pt solid; text-align: right" title="Notes payable, Principal"&gt;40,728&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20231231_zfrGcNlm9u81" style="border-bottom: Black 2.5pt double; text-align: right" title="Notes payable, Principal"&gt;41,976&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OtherNotesPayableCurrent_iI_pp0p0_c20221231_z8eZ9Nov4mp9" style="border-bottom: Black 2.5pt double; text-align: right" title="Notes payable, Principal"&gt;74,575&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact001114"
      unitRef="USD">39968</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:LongTermDebtPercentageBearingFixedInterestRate
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="INF"
      id="Fact001116"
      unitRef="Pure">0.0800</us-gaap:LongTermDebtPercentageBearingFixedInterestRate>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact001118"
      unitRef="USD">17753</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:LongTermDebtPercentageBearingFixedInterestRate
      contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="INF"
      id="Fact001120"
      unitRef="Pure">0.0624</us-gaap:LongTermDebtPercentageBearingFixedInterestRate>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact001122"
      unitRef="USD">2008</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact001124"
      unitRef="USD">16094</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteFourMember"
      decimals="0"
      id="Fact001128"
      unitRef="USD">40728</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001130"
      unitRef="USD">41976</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:OtherNotesPayableCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001132"
      unitRef="USD">74575</us-gaap:OtherNotesPayableCurrent>
    <us-gaap:NotesPayable
      contextRef="AsOf2022-12-23_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact001134"
      unitRef="USD">26484</us-gaap:NotesPayable>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="AsOf2022-12-23_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="INF"
      id="Fact001136"
      unitRef="Pure">0.0873</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2022-12-222022-12-23_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact001138"
      unitRef="USD">2755</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact001140"
      unitRef="USD">0</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteOneMember"
      decimals="0"
      id="Fact001142"
      unitRef="USD">0</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2022-04-15_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact001144"
      unitRef="USD">63766</us-gaap:NotesPayable>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="AsOf2022-04-15_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="INF"
      id="Fact001146"
      unitRef="Pure">0.0624</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2022-04-142022-04-15_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact001148"
      unitRef="USD">5979</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact001150"
      unitRef="USD">142734</us-gaap:NotesPayable>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="AsOf2023-04-15_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="INF"
      id="Fact001152"
      unitRef="Pure">0.0800</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2023-04-142023-04-15_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact001154"
      unitRef="USD">13501</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact001156"
      unitRef="USD">39968</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteTwoMember"
      decimals="0"
      id="Fact001158"
      unitRef="USD">17753</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2022-09-15_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact001159"
      unitRef="USD">24140</us-gaap:NotesPayable>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact001160"
      unitRef="USD">2012</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact001161"
      unitRef="USD">2008</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteThreeMember"
      decimals="0"
      id="Fact001162"
      unitRef="USD">16094</us-gaap:NotesPayable>
    <duot:PurchaseOfInsurancePolicy
      contextRef="From2022-02-012022-02-03"
      decimals="0"
      id="Fact001164"
      unitRef="USD">242591</duot:PurchaseOfInsurancePolicy>
    <duot:DownPaymentPaid
      contextRef="From2022-01-012022-03-31"
      decimals="0"
      id="Fact001166"
      unitRef="USD">41854</duot:DownPaymentPaid>
    <duot:InsuranceMonthlyInstallments
      contextRef="From2022-01-012022-03-31"
      decimals="0"
      id="Fact001168"
      unitRef="USD">20073</duot:InsuranceMonthlyInstallments>
    <us-gaap:ProceedsFromDepositsWithOtherInstitutions
      contextRef="From2022-09-272022-09-30"
      decimals="0"
      id="Fact001170"
      unitRef="USD">53175</us-gaap:ProceedsFromDepositsWithOtherInstitutions>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-02-03_custom_ThirdPartyInsuranceNoteFourMember"
      decimals="0"
      id="Fact001172"
      unitRef="USD">293520</us-gaap:NotesPayable>
    <duot:DownPaymentPaid
      contextRef="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteFourMember"
      decimals="0"
      id="Fact001174"
      unitRef="USD">125690</duot:DownPaymentPaid>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2023-02-022023-02-03_custom_ThirdPartyInsuranceNoteFourMember"
      decimals="0"
      id="Fact001176"
      unitRef="USD">23976</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-12-31_custom_ThirdPartyInsuranceNoteFourMember"
      decimals="0"
      id="Fact001178"
      unitRef="USD">0</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2022-12-31_custom_ThirdPartyInsuranceNoteFourMember"
      decimals="0"
      id="Fact001180"
      unitRef="USD">40728</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2020-05-22_custom_EquipmentFinancingMember"
      decimals="0"
      id="Fact001182"
      unitRef="USD">121637</us-gaap:NotesPayable>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="AsOf2020-05-22_custom_EquipmentFinancingMember"
      decimals="INF"
      id="Fact001184"
      unitRef="Pure">0.0990</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="From2020-05-212023-06-01_custom_EquipmentFinancingMember"
      decimals="0"
      id="Fact001186"
      unitRef="USD">3919</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:NotesPayable
      contextRef="AsOf2023-12-31_custom_EquipmentFinancingMember"
      decimals="0"
      id="Fact001188"
      unitRef="USD">0</us-gaap:NotesPayable>
    <us-gaap:NotesPayable
      contextRef="AsOf2022-12-31_custom_EquipmentFinancingMember"
      decimals="0"
      id="Fact001190"
      unitRef="USD">22851</us-gaap:NotesPayable>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001197">&lt;p id="xdx_803_eus-gaap--RevenueFromContractWithCustomerTextBlock_zY4fGSuavpr9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 8 &#x2013; &lt;span id="xdx_823_z55FzistFZpd"&gt;REVENUES AND CONTRACT ACCOUNTING&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company generates revenue from four sources: (1)
Technology Systems; (2) AI Technology which is included in the consolidated statements of operations line-item Technology Systems; (3)
Technical Support; and (4) Consulting Services which is included in the consolidated statements of operations line-item Services and Consulting.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Contract assets and contract liabilities on uncompleted
contracts for revenues recognized over time are as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Contract Assets&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Contract assets on uncompleted contracts represent
cumulative revenues recognized in excess of billings and/or cash received on uncompleted contracts accounted for under the cost-to-cost
input method which recognizes revenue based on the ratio of costs incurred to total estimated costs.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At December 31, 2023 and 2022, contract assets on
uncompleted contracts consisted of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zCWVLmPjrHyf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B9_zxA0iUEH8wyj" style="display: none"&gt;Schedule of contract assets on
uncompleted contracts&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20231231_zFJoYhD2rJAi" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20221231_zppB3Dy1UIbi" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--CostsAndEstimatedEarningsRecognized_iI_pp0p0_maCWCANzFM7_zcO6mxsK0DDc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Cumulative revenues recognized&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,820,256&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;5,934,205&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zN7MhJYySqZj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Billings or cash received&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(8,178,309&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,508,483&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zgWCRX6xK4jl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Contract Assets&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;641,947&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;425,722&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Contract Liabilities&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Contract liabilities on uncompleted contracts represent
billings and/or cash received that exceed cumulative revenues recognized on uncompleted contracts accounted for under the cost-to-cost
input method.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Contract liabilities on services and consulting revenues
represent billings and/or cash received in excess of revenue recognized on service agreements that are not accounted for under the cost-to-cost
input method.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company expects to recognize all contract liabilities within 12
months from the date of the consolidated balance sheet.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At December 31, 2023 and 2022, contract liabilities
on uncompleted contracts consisted of the following:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_881_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zMZrx8BUjt7" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B0_zrDv0aiCAByi" style="display: none"&gt;Schedule of contract liabilities
on uncompleted contracts&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zOrdde0up58j" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20221231_zUuQvqCBZlA9" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_pp0p0_maCLTSzBbu_zOzcMc8cWjIb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 66%; text-align: left"&gt;Billings and/or cash receipts on uncompleted contracts&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"&gt;1,264,658&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"&gt;4,355,470&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--CostAndEstimatedEarningsRecognized_iNI_pp0p0_di_msCLTSzBbu_zLR3bAINzcPi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;Less: Cumulative revenues&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;(199,976&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;(4,144,018&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_pp0p0_mtCLTSzBbu_maCWCLzYC9_zN5NJd39qYKd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;Contract liabilities, technology systems&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;1,064,682&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;211,452&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--ContractLiabilitiesServicesAndConsulting_iI_pp0p0_maCWCLzYC9_zlwyzuHnRoC9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;Contract Liabilities, services and consulting&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;601,561&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;746,545&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iTI_pp0p0_mtCWCLzYC9_zBFzK79eYxpi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt"&gt;&lt;span style="font-size: 10pt"&gt;Total
    Contract Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;1,666,243&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;957,997&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Contract liabilities at December 31, 2022 were $&lt;span id="xdx_903_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20221231_zGLIpcVH0v67" title="Contract liabilities"&gt;957,997&lt;/span&gt;;
of which $&lt;span id="xdx_902_ecustom--ContractLiabilitiesTechnologiesSystems_iI_pp0p0_c20221231_zDeoClA20xQ1" title="Contract liabilities, technology systems"&gt;211,452&lt;/span&gt; for technology systems and $&lt;span id="xdx_903_ecustom--ServicesAndConsultingRecognized_iI_pp0p0_c20221231_z6TPNQ7JkDLb" title="Services and consulting recognized"&gt;721,810&lt;/span&gt; in services and consulting have been recognized as of December 31, 2023.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Disaggregation of Revenue&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company is following
the guidance of ASC 606-10-55-296 and 297 for disaggregation of revenue. Accordingly, revenue has been disaggregated according to the
nature, amount, timing and uncertainty of revenue and cash flows. We are providing qualitative and quantitative disclosures.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;Qualitative:&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;1. We have four distinct revenue sources:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in"&gt;a. Technology Systems (Turnkey, engineered projects);&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in"&gt;b. AI Technology (Associated maintenance and support services);&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;c. Technical Support (Licensing and professional services related
to auditing of data center assets); and&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;d. Consulting Services (Predetermined algorithms to provide important
operating information to the users of our systems).&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;2. We currently operate in North America including the USA, Mexico and
Canada.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;3. Our customers include rail transportation, commercial, government, banking
and IT suppliers.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;4. Our technology systems and equipment projects fall into two types:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in"&gt;a. Transfer of goods and services are over time.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in"&gt;b. Goods delivered at point in time.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;5. Our services &amp;amp; maintenance contracts are fixed price and fall into
two duration types:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"&gt;a. Turnkey engineered projects and professional service contracts
that are less than one year in duration and are typically one to two quarters in length; and&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in"&gt;b. Maintenance and support contracts ranging from one to five
years in length.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Quantitative: &lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;For the Year Ended December 31, 2023&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_89A_eus-gaap--DisaggregationOfRevenueTableTextBlock_ziFFTofefqv7" style="font: 9pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span id="xdx_8BD_zI6RQhfhhBKh" style="display: none"&gt;Schedule of disaggregation of revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold"&gt;Segments&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Rail&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Artificial &lt;br/&gt; Intelligence&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;Primary Geographical Markets&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 28%; text-align: left; padding-bottom: 2.5pt"&gt;North America&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z8eGaxFxT7X2" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue"&gt;6,261,748&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z91BwFgel23h" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue"&gt;78,575&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zzUYC4RqLLY6" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z1H88gnO8qua" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlYzaT1cVKG7" style="border-bottom: Black 2.5pt double; text-align: right; width: 12%" title="Revenue"&gt;$7,471,198&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;Major Goods and Service Lines&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Turnkey Projects&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zp6uTmgsN8E6" style="text-align: right" title="Revenue"&gt;3,616,334&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ2xI4G66YEl" style="text-align: right" title="Revenue"&gt;1,694&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zvdw35phcVD1" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1252"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zd1PRS1N0avh" style="text-align: right" title="Revenue"&gt;$3,618,028&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Maintenance &amp;amp; Support&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zRx9cWgpX3l9" style="text-align: right" title="Revenue"&gt;2,645,414&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjdhQrRi7mh6" style="text-align: right" title="Revenue"&gt;76,881&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zv4DTXUGxTGb" style="text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuU50dX9mffk" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1262"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zKVaf5AtA0z9" style="text-align: right" title="Revenue"&gt;2,733,648&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Data Center Auditing Services&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6FIsWC83GSk" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1266"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z06Rv7Cb0dU" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1268"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zavmG6DFeEq5" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1270"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z9wEDGYxpun2" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1272"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zPSgswb0V5Ah" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1274"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Software License&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zFAoHSHmmfta" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1276"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwtSenQemXTc" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1278"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zb6JwTGkSIfi" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1280"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zb29oL5tghP1" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1282"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zllGOPUDsDGd" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1284"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Algorithms&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zLvGB85ZDZt5" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1286"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zm6wtEWpyNg" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1288"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z72lj2ESADJc" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1290"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zxjLUKdBuai9" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_z544OBmKZnA2" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zuzcy4hlYpqd" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;6,261,748&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwK0YZ2dZmae" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;78,575&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zgOQ0cigfMl7" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCCQ5ARfaV89" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zLESjJqPnxBk" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;$7,471,198&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;Timing of Revenue Recognition&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Goods transferred over time&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zDZQXlIAwUOa" style="text-align: right" title="Revenue"&gt;3,616,334&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zq5rYNodKeTg" style="text-align: right" title="Revenue"&gt;1,694&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zrIWxpwwpeH9" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1310"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zZohML7rQRmb" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1312"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zyJLH8Y4sKCe" style="text-align: right" title="Revenue"&gt;$3,218,028&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Services transferred over time&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zWoSClXHHuPa" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;2,645,414&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zLF3Xkq19Fbl" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;76,881&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZeZwI5I8qsk" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zars4ZS1uYfb" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zFlO71fbQvxd" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;3,853,170&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zcaSCOydbRNh" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;6,261,748&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zopd6C2SABo" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;78,575&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zSVPjkb156be" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zW2CHJpbCPec" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zeAn8B8l4ZUi" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;$7,471,198&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Quantitative: &lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;For the Year Ended December 31, 2022&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold"&gt;Segments&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Rail&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Artificial &lt;br/&gt; Intelligence&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold"&gt;Primary Geographical Markets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 45%; font-size: 9pt; text-align: left; padding-bottom: 2.5pt"&gt;North America&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;13,710,777&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;115,443&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;237,414&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;948,732&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;15,012,366&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left"&gt;Major Goods and Service Lines&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Turnkey Projects&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue"&gt;10,789,693&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue"&gt;9,297&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue"&gt;156,530&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXfHXZuRr6og" style="font-size: 9pt; text-align: right" title="Revenue"&gt;234,772&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue"&gt;11,190,292&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Maintenance &amp;amp; Support&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zHKXeww9buMe" style="font-size: 9pt; text-align: right" title="Revenue"&gt;2,921,084&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zIm1a8hF0Tqg" style="font-size: 9pt; text-align: right" title="Revenue"&gt;106,146&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zTquzdRAFr5l" style="font-size: 9pt; text-align: right" title="Revenue"&gt;80,884&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zRyweNrqam8i" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1365"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zObWuoB33Oqg" style="font-size: 9pt; text-align: right" title="Revenue"&gt;3,108,114&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Data Center Auditing Services&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhpEX70VNsV8" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1369"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zAVAwmkcGh85" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1371"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkCa1g4l8W28" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1373"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zNrTqg2A7x1a" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1375"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zYUcizWw8wRb" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1377"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Software License&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zwqCPQtsunck" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1379"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_ztRr9nSBR4Y3" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1381"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zWkK23Hule7" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1383"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z0qZ039p7ALl" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1385"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zYJYPrPGBpOe" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1387"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;Algorithms&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zG4qv3li40I4" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1389"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zBnt73xaTj1f" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1391"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z8Be3e3MTW7c" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1393"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCQNC7ca4Cnl" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;713,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zWfBsPPVb7g7" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;713,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6jwa1L5JCPc" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;13,710,777&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z7J57O39olgd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;115,443&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z7kFNLAmCDca" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;237,414&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXGLp6GbLlcd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;948,732&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zxxB0Uh6dx9h" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;15,012,366&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left"&gt;Timing of Revenue Recognition&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Goods transferred over time&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zRNPxYCcG1p9" style="font-size: 9pt; text-align: right" title="Revenue"&gt;10,789,693&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zaXBzwca6J6d" style="font-size: 9pt; text-align: right" title="Revenue"&gt;9,297&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zbKDsbkJRgc" style="font-size: 9pt; text-align: right" title="Revenue"&gt;156,530&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zcaemS5Cl6C5" style="font-size: 9pt; text-align: right" title="Revenue"&gt;234,772&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zEX2ebYw9KTd" style="font-size: 9pt; text-align: right" title="Revenue"&gt;11,190,292&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 9pt; text-align: left; padding-bottom: 1pt"&gt;Services transferred over time&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zYunqanIKlzf" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;2,921,084&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zkcQa4rAXg7d" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;106,146&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zjgNftwoujja" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;80,884&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z12sEJE9AhTl" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;713,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z337k7WlFV33" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;3,822,074&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zX6GkVc485kk" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;13,710,777&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zCmXvahtKXZ" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;115,443&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zpjoP6RJUNV6" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;237,414&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zAryIO8vAcF5" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;948,732&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zus71Y4MNntl" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;15,012,366&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A5_z4N3ehK84e6a" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Segment Information&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company operates in one reportable segment.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001199">&lt;table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock_zCWVLmPjrHyf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract assets)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B9_zxA0iUEH8wyj" style="display: none"&gt;Schedule of contract assets on
uncompleted contracts&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20231231_zFJoYhD2rJAi" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20221231_zppB3Dy1UIbi" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--CostsAndEstimatedEarningsRecognized_iI_pp0p0_maCWCANzFM7_zcO6mxsK0DDc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Cumulative revenues recognized&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,820,256&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;5,934,205&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--BillingsOrCashReceived_iNI_pp0p0_di_msCWCANzFM7_zN7MhJYySqZj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Billings or cash received&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(8,178,309&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,508,483&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iTI_pp0p0_mtCWCANzFM7_zgWCRX6xK4jl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Contract Assets&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;641,947&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;425,722&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</duot:CostsAndEstimatedEarningsInExcessOfBillingsOnUncompletedContractsTableTextBlock>
    <duot:CostsAndEstimatedEarningsRecognized
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001201"
      unitRef="USD">8820256</duot:CostsAndEstimatedEarningsRecognized>
    <duot:CostsAndEstimatedEarningsRecognized
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001202"
      unitRef="USD">5934205</duot:CostsAndEstimatedEarningsRecognized>
    <duot:BillingsOrCashReceived
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001204"
      unitRef="USD">8178309</duot:BillingsOrCashReceived>
    <duot:BillingsOrCashReceived
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001205"
      unitRef="USD">5508483</duot:BillingsOrCashReceived>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001207"
      unitRef="USD">641947</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001208"
      unitRef="USD">425722</us-gaap:ContractWithCustomerAssetNetCurrent>
    <duot:ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001213">&lt;table cellpadding="0" cellspacing="0" id="xdx_881_ecustom--ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock_zMZrx8BUjt7" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details - Contract liabilities)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B0_zrDv0aiCAByi" style="display: none"&gt;Schedule of contract liabilities
on uncompleted contracts&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zOrdde0up58j" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20221231_zUuQvqCBZlA9" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--BillingsAndorCashReceiptsOnUncompletedContracts_iI_pp0p0_maCLTSzBbu_zOzcMc8cWjIb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 66%; text-align: left"&gt;Billings and/or cash receipts on uncompleted contracts&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"&gt;1,264,658&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"&gt;4,355,470&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--CostAndEstimatedEarningsRecognized_iNI_pp0p0_di_msCLTSzBbu_zLR3bAINzcPi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;Less: Cumulative revenues&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;(199,976&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;(4,144,018&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_ecustom--ContractLiabilitiesTechnologiesSystems_iTI_pp0p0_mtCLTSzBbu_maCWCLzYC9_zN5NJd39qYKd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;Contract liabilities, technology systems&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;1,064,682&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;211,452&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--ContractLiabilitiesServicesAndConsulting_iI_pp0p0_maCWCLzYC9_zlwyzuHnRoC9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;Contract Liabilities, services and consulting&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;601,561&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;746,545&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iTI_pp0p0_mtCWCLzYC9_zBFzK79eYxpi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 2.5pt"&gt;&lt;span style="font-size: 10pt"&gt;Total
    Contract Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="font-family: Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-family: Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;1,666,243&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-family: Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-size: 10pt"&gt;957,997&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</duot:ScheduleOfBillingsInExcessOfCostsAndEstimatedEarningsOnUncompletedContractsTableTextBlock>
    <duot:BillingsAndorCashReceiptsOnUncompletedContracts
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001215"
      unitRef="USD">1264658</duot:BillingsAndorCashReceiptsOnUncompletedContracts>
    <duot:BillingsAndorCashReceiptsOnUncompletedContracts
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001216"
      unitRef="USD">4355470</duot:BillingsAndorCashReceiptsOnUncompletedContracts>
    <duot:CostAndEstimatedEarningsRecognized
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001218"
      unitRef="USD">199976</duot:CostAndEstimatedEarningsRecognized>
    <duot:CostAndEstimatedEarningsRecognized
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001219"
      unitRef="USD">4144018</duot:CostAndEstimatedEarningsRecognized>
    <duot:ContractLiabilitiesTechnologiesSystems
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001221"
      unitRef="USD">1064682</duot:ContractLiabilitiesTechnologiesSystems>
    <duot:ContractLiabilitiesTechnologiesSystems
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001222"
      unitRef="USD">211452</duot:ContractLiabilitiesTechnologiesSystems>
    <duot:ContractLiabilitiesServicesAndConsulting
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001224"
      unitRef="USD">601561</duot:ContractLiabilitiesServicesAndConsulting>
    <duot:ContractLiabilitiesServicesAndConsulting
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001225"
      unitRef="USD">746545</duot:ContractLiabilitiesServicesAndConsulting>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001227"
      unitRef="USD">1666243</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001228"
      unitRef="USD">957997</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001230"
      unitRef="USD">957997</us-gaap:ContractWithCustomerLiabilityCurrent>
    <duot:ContractLiabilitiesTechnologiesSystems
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001232"
      unitRef="USD">211452</duot:ContractLiabilitiesTechnologiesSystems>
    <duot:ServicesAndConsultingRecognized
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001234"
      unitRef="USD">721810</duot:ServicesAndConsultingRecognized>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001236">&lt;table cellpadding="0" cellspacing="0" id="xdx_89A_eus-gaap--DisaggregationOfRevenueTableTextBlock_ziFFTofefqv7" style="font: 9pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - REVENUES AND CONTRACT ACCOUNTING (Details -Disaggregated revenue)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-size: 8pt; font-weight: bold"&gt;&lt;span id="xdx_8BD_zI6RQhfhhBKh" style="display: none"&gt;Schedule of disaggregation of revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 8pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold"&gt;Segments&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Rail&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Artificial &lt;br/&gt; Intelligence&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;Primary Geographical Markets&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 28%; text-align: left; padding-bottom: 2.5pt"&gt;North America&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z8eGaxFxT7X2" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue"&gt;6,261,748&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z91BwFgel23h" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue"&gt;78,575&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zzUYC4RqLLY6" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z1H88gnO8qua" style="border-bottom: Black 2.5pt double; width: 12%; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_zlYzaT1cVKG7" style="border-bottom: Black 2.5pt double; text-align: right; width: 12%" title="Revenue"&gt;$7,471,198&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;Major Goods and Service Lines&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Turnkey Projects&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zp6uTmgsN8E6" style="text-align: right" title="Revenue"&gt;3,616,334&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zJ2xI4G66YEl" style="text-align: right" title="Revenue"&gt;1,694&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zvdw35phcVD1" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1252"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_zd1PRS1N0avh" style="text-align: right" title="Revenue"&gt;$3,618,028&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Maintenance &amp;amp; Support&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zRx9cWgpX3l9" style="text-align: right" title="Revenue"&gt;2,645,414&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zjdhQrRi7mh6" style="text-align: right" title="Revenue"&gt;76,881&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zv4DTXUGxTGb" style="text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zuU50dX9mffk" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1262"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zKVaf5AtA0z9" style="text-align: right" title="Revenue"&gt;2,733,648&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Data Center Auditing Services&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6FIsWC83GSk" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1266"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z06Rv7Cb0dU" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1268"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zavmG6DFeEq5" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1270"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z9wEDGYxpun2" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1272"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zPSgswb0V5Ah" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1274"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Software License&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zFAoHSHmmfta" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1276"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwtSenQemXTc" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1278"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zb6JwTGkSIfi" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1280"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zb29oL5tghP1" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1282"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zllGOPUDsDGd" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1284"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Algorithms&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zLvGB85ZDZt5" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1286"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zm6wtEWpyNg" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1288"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z72lj2ESADJc" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1290"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zxjLUKdBuai9" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_z544OBmKZnA2" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zuzcy4hlYpqd" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;6,261,748&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zwK0YZ2dZmae" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;78,575&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zgOQ0cigfMl7" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCCQ5ARfaV89" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zLESjJqPnxBk" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;$7,471,198&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;Timing of Revenue Recognition&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Goods transferred over time&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zDZQXlIAwUOa" style="text-align: right" title="Revenue"&gt;3,616,334&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zq5rYNodKeTg" style="text-align: right" title="Revenue"&gt;1,694&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zrIWxpwwpeH9" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1310"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zZohML7rQRmb" style="text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1312"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zyJLH8Y4sKCe" style="text-align: right" title="Revenue"&gt;$3,218,028&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Services transferred over time&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zWoSClXHHuPa" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;2,645,414&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zLF3Xkq19Fbl" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;76,881&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zZeZwI5I8qsk" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zars4ZS1uYfb" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zFlO71fbQvxd" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;3,853,170&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 10pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zcaSCOydbRNh" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;6,261,748&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zopd6C2SABo" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;78,575&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zSVPjkb156be" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;11,353&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zW2CHJpbCPec" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;1,119,522&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231_zeAn8B8l4ZUi" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;$7,471,198&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Quantitative: &lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;For the Year Ended December 31, 2022&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold"&gt;Segments&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Rail&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Government&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Artificial &lt;br/&gt; Intelligence&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold"&gt;Primary Geographical Markets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 45%; font-size: 9pt; text-align: left; padding-bottom: 2.5pt"&gt;North America&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;13,710,777&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;115,443&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;237,414&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;948,732&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--StatementGeographicalAxis__srt--NorthAmericaMember_pp0p0" style="border-bottom: Black 2.5pt double; width: 8%; font-size: 9pt; text-align: right" title="Revenue"&gt;15,012,366&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left"&gt;Major Goods and Service Lines&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Turnkey Projects&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue"&gt;10,789,693&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue"&gt;9,297&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue"&gt;156,530&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXfHXZuRr6og" style="font-size: 9pt; text-align: right" title="Revenue"&gt;234,772&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20221231__srt--ProductOrServiceAxis__custom--TurnkeyProjectsMember_pp0p0" style="font-size: 9pt; text-align: right" title="Revenue"&gt;11,190,292&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Maintenance &amp;amp; Support&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zHKXeww9buMe" style="font-size: 9pt; text-align: right" title="Revenue"&gt;2,921,084&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zIm1a8hF0Tqg" style="font-size: 9pt; text-align: right" title="Revenue"&gt;106,146&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zTquzdRAFr5l" style="font-size: 9pt; text-align: right" title="Revenue"&gt;80,884&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zRyweNrqam8i" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1365"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--MaintenanceAndSupportMember_zObWuoB33Oqg" style="font-size: 9pt; text-align: right" title="Revenue"&gt;3,108,114&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Data Center Auditing Services&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zhpEX70VNsV8" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1369"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zAVAwmkcGh85" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1371"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zkCa1g4l8W28" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1373"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zNrTqg2A7x1a" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1375"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--DataCenterAuditingServicesMember_zYUcizWw8wRb" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1377"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Software License&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zwqCPQtsunck" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1379"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_ztRr9nSBR4Y3" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1381"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zWkK23Hule7" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1383"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_z0qZ039p7ALl" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1385"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--SoftwareLicenseMember_zYJYPrPGBpOe" style="font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1387"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;Algorithms&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zG4qv3li40I4" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1389"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zBnt73xaTj1f" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1391"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z8Be3e3MTW7c" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1393"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zCQNC7ca4Cnl" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;713,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__srt--ProductOrServiceAxis__custom--AlgorithmsMember_zWfBsPPVb7g7" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;713,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_z6jwa1L5JCPc" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;13,710,777&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_z7J57O39olgd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;115,443&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_z7kFNLAmCDca" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;237,414&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zXGLp6GbLlcd" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;948,732&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zxxB0Uh6dx9h" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;15,012,366&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; font-weight: bold; text-align: left"&gt;Timing of Revenue Recognition&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;Goods transferred over time&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zRNPxYCcG1p9" style="font-size: 9pt; text-align: right" title="Revenue"&gt;10,789,693&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zaXBzwca6J6d" style="font-size: 9pt; text-align: right" title="Revenue"&gt;9,297&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zbKDsbkJRgc" style="font-size: 9pt; text-align: right" title="Revenue"&gt;156,530&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pdp0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zcaemS5Cl6C5" style="font-size: 9pt; text-align: right" title="Revenue"&gt;234,772&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--GoodsTransferredOverTimeMember_zEX2ebYw9KTd" style="font-size: 9pt; text-align: right" title="Revenue"&gt;11,190,292&lt;/td&gt;&lt;td style="font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-size: 9pt; text-align: left; padding-bottom: 1pt"&gt;Services transferred over time&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zYunqanIKlzf" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;2,921,084&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zkcQa4rAXg7d" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;106,146&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_zjgNftwoujja" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;80,884&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z12sEJE9AhTl" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;713,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--TimingOfTransferOfGoodOrServiceAxis__custom--ServicesTransferredOverTimeMember_z337k7WlFV33" style="border-bottom: Black 1pt solid; font-size: 9pt; text-align: right" title="Revenue"&gt;3,822,074&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--RailMember_zX6GkVc485kk" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;13,710,777&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--CommercialMember_zCmXvahtKXZ" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;115,443&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--GovernmentsMember_zpjoP6RJUNV6" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;237,414&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231__us-gaap--StatementBusinessSegmentsAxis__custom--ArtificialIntelligenceMember_zAryIO8vAcF5" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;948,732&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 9pt; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20221231_zus71Y4MNntl" style="border-bottom: Black 2.5pt double; font-size: 9pt; text-align: right" title="Revenue"&gt;15,012,366&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-size: 9pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_RailMember"
      decimals="0"
      id="Fact001238"
      unitRef="USD">6261748</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_CommercialMember"
      decimals="0"
      id="Fact001240"
      unitRef="USD">78575</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001242"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001244"
      unitRef="USD">1119522</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_srt_NorthAmericaMember"
      decimals="0"
      id="Fact001246"
      unitRef="USD">7471198</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_RailMember"
      decimals="0"
      id="Fact001248"
      unitRef="USD">3616334</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_TurnkeyProjectsMember_custom_CommercialMember"
      decimals="0"
      id="Fact001250"
      unitRef="USD">1694</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_TurnkeyProjectsMember"
      decimals="0"
      id="Fact001254"
      unitRef="USD">3618028</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_RailMember"
      decimals="0"
      id="Fact001256"
      unitRef="USD">2645414</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_CommercialMember"
      decimals="0"
      id="Fact001258"
      unitRef="USD">76881</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001260"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_MaintenanceAndSupportMember"
      decimals="0"
      id="Fact001264"
      unitRef="USD">2733648</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001292"
      unitRef="USD">1119522</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_AlgorithmsMember"
      decimals="0"
      id="Fact001294"
      unitRef="USD">1119522</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_RailMember"
      decimals="0"
      id="Fact001296"
      unitRef="USD">6261748</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_CommercialMember"
      decimals="0"
      id="Fact001298"
      unitRef="USD">78575</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_GovernmentsMember"
      decimals="0"
      id="Fact001300"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001302"
      unitRef="USD">1119522</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001304"
      unitRef="USD">7471198</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_RailMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001306"
      unitRef="USD">3616334</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001308"
      unitRef="USD">1694</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001314"
      unitRef="USD">3218028</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_RailMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001316"
      unitRef="USD">2645414</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001318"
      unitRef="USD">76881</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001320"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001322"
      unitRef="USD">1119522</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001324"
      unitRef="USD">3853170</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_RailMember"
      decimals="0"
      id="Fact001326"
      unitRef="USD">6261748</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_CommercialMember"
      decimals="0"
      id="Fact001328"
      unitRef="USD">78575</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_GovernmentsMember"
      decimals="0"
      id="Fact001330"
      unitRef="USD">11353</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001332"
      unitRef="USD">1119522</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001334"
      unitRef="USD">7471198</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_RailMember"
      decimals="0"
      id="Fact001339"
      unitRef="USD">13710777</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_CommercialMember"
      decimals="0"
      id="Fact001341"
      unitRef="USD">115443</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001343"
      unitRef="USD">237414</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001345"
      unitRef="USD">948732</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_srt_NorthAmericaMember"
      decimals="0"
      id="Fact001347"
      unitRef="USD">15012366</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_RailMember"
      decimals="0"
      id="Fact001349"
      unitRef="USD">10789693</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_CommercialMember"
      decimals="0"
      id="Fact001351"
      unitRef="USD">9297</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001353"
      unitRef="USD">156530</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001355"
      unitRef="USD">234772</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_TurnkeyProjectsMember"
      decimals="0"
      id="Fact001357"
      unitRef="USD">11190292</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_RailMember"
      decimals="0"
      id="Fact001359"
      unitRef="USD">2921084</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_CommercialMember"
      decimals="0"
      id="Fact001361"
      unitRef="USD">106146</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember_custom_GovernmentsMember"
      decimals="0"
      id="Fact001363"
      unitRef="USD">80884</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_MaintenanceAndSupportMember"
      decimals="0"
      id="Fact001367"
      unitRef="USD">3108114</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001395"
      unitRef="USD">713960</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_AlgorithmsMember"
      decimals="0"
      id="Fact001397"
      unitRef="USD">713960</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_RailMember"
      decimals="0"
      id="Fact001399"
      unitRef="USD">13710777</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_CommercialMember"
      decimals="0"
      id="Fact001401"
      unitRef="USD">115443</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_GovernmentsMember"
      decimals="0"
      id="Fact001403"
      unitRef="USD">237414</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001405"
      unitRef="USD">948732</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001407"
      unitRef="USD">15012366</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_RailMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001409"
      unitRef="USD">10789693</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_CommercialMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001411"
      unitRef="USD">9297</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_GovernmentsMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001413"
      unitRef="USD">156530</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001415"
      unitRef="USD">234772</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_GoodsTransferredOverTimeMember"
      decimals="0"
      id="Fact001417"
      unitRef="USD">11190292</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_RailMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001419"
      unitRef="USD">2921084</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_CommercialMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001421"
      unitRef="USD">106146</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_GovernmentsMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001423"
      unitRef="USD">80884</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001425"
      unitRef="USD">713960</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_ServicesTransferredOverTimeMember"
      decimals="0"
      id="Fact001427"
      unitRef="USD">3822074</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_RailMember"
      decimals="0"
      id="Fact001429"
      unitRef="USD">13710777</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_CommercialMember"
      decimals="0"
      id="Fact001431"
      unitRef="USD">115443</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_GovernmentsMember"
      decimals="0"
      id="Fact001433"
      unitRef="USD">237414</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31_custom_ArtificialIntelligenceMember"
      decimals="0"
      id="Fact001435"
      unitRef="USD">948732</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001437"
      unitRef="USD">15012366</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CompensationRelatedCostsGeneralTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001439">&lt;p id="xdx_807_eus-gaap--CompensationRelatedCostsGeneralTextBlock_ziviFFFR4wu8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 9 &#x2013; &lt;span id="xdx_82E_zWXoUzTpDfOc"&gt;DEFERRED COMPENSATION&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As of December 31, 2023, and 2022, the Company has
accrued zero &lt;b style="display: none"&gt;&lt;span id="xdx_902_eus-gaap--DeferredCompensationLiabilityCurrent_pp0p0_c20231231_zlNi73ReO9Zc" title="Accrued deferred compensation"&gt;0&lt;/span&gt;&lt;/b&gt; and $&lt;span id="xdx_908_eus-gaap--DeferredCompensationLiabilityCurrent_pp0p0_c20221231_zzrZ7C7kLR9g" title="Accrued deferred compensation"&gt;297,620&lt;/span&gt;, respectively, of deferred compensation relating to individual agreements with the former CEO and
sales staff, which are included in the accompanying consolidated balance sheet in accrued expenses. (See Note 10)&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

</us-gaap:CompensationRelatedCostsGeneralTextBlock>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001441"
      unitRef="USD">0</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001443"
      unitRef="USD">297620</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001445">&lt;p id="xdx_805_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zwCak1eyphKg" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 10 &#x2013; &lt;span id="xdx_82C_zeBNy4JtEPJ1"&gt;COMMITMENTS AND CONTINGENCIES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Operating Lease Obligations&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On July 26, 2021, the Company entered a new
operating lease agreement for office and warehouse combination space of &lt;span id="xdx_907_ecustom--AreaOfLease_usqft_c20210725__20210726_zPObh03tD1ze" title="Area of lease"&gt;40,000 &lt;/span&gt;square
feet, with the lease commencing on November 1, 2021, and ending April 30, 2032. This new space combines the Company&#x2019;s two
separate work locations into one facility, which allows for greater collaboration and also accommodates a larger anticipated
workforce and manufacturing facility. On November 24, 2021, the lease was amended to commence on December 1, 2021, and end on May
31, 2032. The Company recognized a ROU asset and operating lease liability in the amount of $&lt;span id="xdx_908_eus-gaap--OperatingLeaseRightOfUseAsset_iI_pp0p0_c20210726_zOvZnb7fMSx1" title="Operating lease right of use asset"&gt;4,980,104 &lt;/span&gt;at
lease commencement. Rent for the first eleven months of the term was calculated based on &lt;span id="xdx_90A_ecustom--RentableSpace_usqft_c20210725__20210726_zPTIvjImoVCa" title="Rentable space"&gt;30,000 &lt;/span&gt;rentable
square feet. The rent is subject to an annual escalation of 2.5%, beginning November 1, 2023. The Company made a security deposit
payment in the amount of $&lt;span id="xdx_90E_eus-gaap--SecurityDepositLiability_iI_pp0p0_c20210726_zGLDs7Sfg2hd" title="Security deposit payment"&gt;600,000&lt;/span&gt; on
July 26, 2021. Per the contract, in the 18&lt;sup&gt;th&lt;/sup&gt; month the security deposit was reduced by $&lt;span id="xdx_901_eus-gaap--SecurityDeposit_iI_c20210726_zoClDkeutFif" title="Security deposit value"&gt;50,000&lt;/span&gt;. The right of use asset
balance at December 31, 2023, net of accumulated amortization, was $&lt;span id="xdx_901_eus-gaap--OperatingLeaseRightOfUseAsset_iI_pp0p0_c20231231_zs00by6n90Ae" title="Accumulated amortization"&gt;4,373,155&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As of December 31, 2023, the office and warehouse
lease is the Company&#x2019;s only lease with a term greater than twelve months. The office and warehouse lease has a remaining term of
approximately 8.5 years and includes an option to extend for two renewal terms of five years each. The renewal options are not reasonably
certain to be exercised, and therefore, they are not included when determining the lease term used to establish the right-of use asset
and lease liability. The Company also has several short-term leases, primarily related to equipment. The Company made an accounting policy
election to not recognize short-term leases with terms of twelve months or less on the consolidated balance sheet and instead recognize
the lease payments in expense as incurred. The Company has also elected to account for real estate leases that contain both lease and
non-lease components (such as common area maintenance) as a single lease component.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table shows supplemental information
related to leases:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_888_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zPTRuYVqbskf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8BF_zZM8IBzvMOXi" style="display: none"&gt;Schedule of supplemental information
related to leases&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Lease cost:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Operating lease cost&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20231231_zttE5rElI3gj" style="width: 14%; text-align: right" title="Operating lease cost"&gt;781,638&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--OperatingLeaseCost_pp0p0_c20220101__20221231_zYcMJF3F67ui" style="width: 14%; text-align: right" title="Operating lease cost"&gt;782,591&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Short-term lease cost&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20231231_zIGK8NYbqlQ2" style="text-align: right" title="Short term lease Cost"&gt;63,770&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShortTermLeaseCost_pp0p0_c20220101__20221231_zdG5CM5dO6r9" style="text-align: right" title="Short term lease Cost"&gt;33,751&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Other information:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Operating cash outflow used for operating leases&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PaymentsForRent_pp0p0_c20230101__20231231_z3e6q6ia2MKl" style="text-align: right" title="Operating cash outflow used for operating leases"&gt;696,869&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--PaymentsForRent_pp0p0_c20220101__20221231_z6j84f2y89w8" style="text-align: right" title="Operating cash outflow used for operating leases"&gt;416,250&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Weighted average discount rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20231231_zjA2gpJoLtUc" title="Weighted average discount rate"&gt;9.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90D_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20221231_zrrVE3JWf7a2" title="Weighted average discount rate"&gt;9.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average remaining lease term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmiiPs8NjkPi" title="Weighted average remaining lease term"&gt;8.5&lt;/span&gt; years&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20221231_zJXSvKVn5oNh" title="Weighted average remaining lease term"&gt;9.5&lt;/span&gt; years&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;At December 31, 2023, future minimum lease payments
due under the operating lease are as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_88C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z26yXkVAW5fe" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B4_zrrSb1KCUQ19" style="display: none"&gt;Schedule of future minimum lease payments
due under the operating lease&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20231231_zx2tVVMOlc1d" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"&gt;&lt;p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&lt;b&gt;Calendar year:&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zMZ32FZKRPlk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 10pt; width: 83%; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;779,087&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_z33tvQ0mDoCe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: 10pt; text-align: justify"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;798,556&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zynaiJekHxF8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 10pt; text-align: justify"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;818,518&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_zFe7Ld6cMU78" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: 10pt; text-align: justify"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;838,984&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFive_iI_pp0p0_maCz6be_zc4EcXY4mLB" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 10pt; text-align: justify"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;859,856&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_pp0p0_maCz6be_zp2e0xf102Wi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;&#160;&#160;&#160;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,183,571&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zpQYnYD8AcOd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&#160;&#160;&#160;&#160;&#160;Total undiscounted future minimum lease payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,278,572&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyImIvrKEkV8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Less: Impact of discounting&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,270,767&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--OperatingLeaseLiability_iI_zRWrXiCH7ZQh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Total present value of operating lease obligation &lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,007,805&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_zUJ59PyPwQge" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;&#160;&#160;&#160;&#160;&#160;&#160;Current portion&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(779,087&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_z2pGR4mT1wfd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Operating lease obligation, less current portion&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;4,228,718&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;Executive Severance Agreement&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify"&gt;Pursuant to a separation agreement with Gianni Arcaini, our
former Chief Executive Officer and Chairman of the Board (the &#x201c;Separation Agreement&#x201d;), Mr. Arcaini&#x2019;s employment with
the Company ended on September 1, 2020 (&#x201c;Separation Date&#x201d;). The Separation Agreement provided that he would receive separation
payments over a 36- month period equal to his base salary plus $75,000 as well as certain limited health and life insurance benefits.
The Separation Agreement also contained confidentiality, non-disparagement and non-solicitation covenants and a release of claims by
Mr. Arcaini. In accordance with the Separation Agreement, the Company paid to Mr. Arcaini the total sum of $747,788. On March 1, 2021,
the Company paid to Mr. Arcaini a lump-sum amount equal to the first six months of payments, or $124,631, owed to Mr. Arcaini and the
Company continued to pay him in semi-monthly installments for 30 months thereafter, as contemplated in Mr. Arcaini&#x2019;s Separation
Agreement. The remaining balance included in accrued expenses in the accompanying unaudited consolidated balance sheet is zero as of December
31, 2023.&lt;/p&gt;













&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;



</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <duot:AreaOfLease
      contextRef="From2021-07-252021-07-26"
      decimals="INF"
      id="Fact001447"
      unitRef="sqft">40000</duot:AreaOfLease>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2021-07-26"
      decimals="0"
      id="Fact001449"
      unitRef="USD">4980104</us-gaap:OperatingLeaseRightOfUseAsset>
    <duot:RentableSpace
      contextRef="From2021-07-252021-07-26"
      decimals="INF"
      id="Fact001451"
      unitRef="sqft">30000</duot:RentableSpace>
    <us-gaap:SecurityDepositLiability
      contextRef="AsOf2021-07-26"
      decimals="0"
      id="Fact001453"
      unitRef="USD">600000</us-gaap:SecurityDepositLiability>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2021-07-26"
      decimals="0"
      id="Fact001455"
      unitRef="USD">50000</us-gaap:SecurityDeposit>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001457"
      unitRef="USD">4373155</us-gaap:OperatingLeaseRightOfUseAsset>
    <duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001462">&lt;table cellpadding="0" cellspacing="0" id="xdx_888_ecustom--ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock_zPTRuYVqbskf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Supplemental information related to leases)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8BF_zZM8IBzvMOXi" style="display: none"&gt;Schedule of supplemental information
related to leases&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Lease cost:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 66%; text-align: left"&gt;Operating lease cost&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--OperatingLeaseCost_pp0p0_c20230101__20231231_zttE5rElI3gj" style="width: 14%; text-align: right" title="Operating lease cost"&gt;781,638&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--OperatingLeaseCost_pp0p0_c20220101__20221231_zYcMJF3F67ui" style="width: 14%; text-align: right" title="Operating lease cost"&gt;782,591&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Short-term lease cost&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShortTermLeaseCost_pp0p0_c20230101__20231231_zIGK8NYbqlQ2" style="text-align: right" title="Short term lease Cost"&gt;63,770&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShortTermLeaseCost_pp0p0_c20220101__20221231_zdG5CM5dO6r9" style="text-align: right" title="Short term lease Cost"&gt;33,751&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Other information:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Operating cash outflow used for operating leases&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--PaymentsForRent_pp0p0_c20230101__20231231_z3e6q6ia2MKl" style="text-align: right" title="Operating cash outflow used for operating leases"&gt;696,869&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--PaymentsForRent_pp0p0_c20220101__20221231_z6j84f2y89w8" style="text-align: right" title="Operating cash outflow used for operating leases"&gt;416,250&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Weighted average discount rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20231231_zjA2gpJoLtUc" title="Weighted average discount rate"&gt;9.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90D_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_dp_c20221231_zrrVE3JWf7a2" title="Weighted average discount rate"&gt;9.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average remaining lease term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20231231_zmiiPs8NjkPi" title="Weighted average remaining lease term"&gt;8.5&lt;/span&gt; years&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20221231_zJXSvKVn5oNh" title="Weighted average remaining lease term"&gt;9.5&lt;/span&gt; years&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</duot:ScheduleOfSupplementalInformationRelatedLeasesTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001464"
      unitRef="USD">781638</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001466"
      unitRef="USD">782591</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001468"
      unitRef="USD">63770</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001470"
      unitRef="USD">33751</us-gaap:ShortTermLeaseCost>
    <us-gaap:PaymentsForRent
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001472"
      unitRef="USD">696869</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001474"
      unitRef="USD">416250</us-gaap:PaymentsForRent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001476"
      unitRef="Pure">0.090</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact001478"
      unitRef="Pure">0.090</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="AsOf2023-12-31" id="Fact001480">P8Y6M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="AsOf2022-12-31" id="Fact001482">P9Y6M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001484">&lt;table cellpadding="0" cellspacing="0" id="xdx_88C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_z26yXkVAW5fe" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMITMENTS AND CONTINGENCIES (Details - Future minimum lease payments)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B4_zrrSb1KCUQ19" style="display: none"&gt;Schedule of future minimum lease payments
due under the operating lease&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20231231_zx2tVVMOlc1d" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"&gt;&lt;p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&lt;b&gt;Calendar year:&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pp0p0_maCz6be_zMZ32FZKRPlk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 10pt; width: 83%; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;779,087&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_pp0p0_maCz6be_z33tvQ0mDoCe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: 10pt; text-align: justify"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;798,556&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_pp0p0_maCz6be_zynaiJekHxF8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 10pt; text-align: justify"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;818,518&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_pp0p0_maCz6be_zFe7Ld6cMU78" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: 10pt; text-align: justify"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;838,984&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFive_iI_pp0p0_maCz6be_zc4EcXY4mLB" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 10pt; text-align: justify"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;859,856&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_pp0p0_maCz6be_zp2e0xf102Wi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;&#160;&#160;&#160;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,183,571&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtCz6be_zpQYnYD8AcOd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&#160;&#160;&#160;&#160;&#160;Total undiscounted future minimum lease payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,278,572&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zyImIvrKEkV8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Less: Impact of discounting&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,270,767&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--OperatingLeaseLiability_iI_zRWrXiCH7ZQh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Total present value of operating lease obligation &lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,007,805&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--OperatingLeaseLiabilityCurrent_iNI_di_zUJ59PyPwQge" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;&#160;&#160;&#160;&#160;&#160;&#160;Current portion&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(779,087&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityNoncurrent_iI_z2pGR4mT1wfd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Operating lease obligation, less current portion&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;4,228,718&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001486"
      unitRef="USD">779087</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001488"
      unitRef="USD">798556</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001490"
      unitRef="USD">818518</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001492"
      unitRef="USD">838984</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001494"
      unitRef="USD">859856</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001496"
      unitRef="USD">3183571</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001498"
      unitRef="USD">7278572</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001500"
      unitRef="USD">2270767</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001502"
      unitRef="USD">5007805</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001504"
      unitRef="USD">779087</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001506"
      unitRef="USD">4228718</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001513">&lt;p id="xdx_80F_eus-gaap--IncomeTaxDisclosureTextBlock_zJSXyHpQIx68" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 11 &#x2013; &lt;span id="xdx_82B_zh7EQadD5JL9"&gt;INCOME TAXES&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company maintains deferred tax assets and liabilities
that reflect the net tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes and the amounts used for income tax purposes. The deferred tax assets (liabilities) at December 31, 2023 and 2022 consist of
net operating loss carryforwards and differences in the book basis and tax basis of intangible assets.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The items accounting for the difference between income
taxes at the effective statutory rate and the provision for income taxes for the years ended December 31, 2023 and 2022 were as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZwHnnqY4xU8" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - INCOME TAXES (Details - Provision for income taxes)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B4_zFkXwdgPYCVc" style="display: none"&gt;Schedule of difference between income
taxes at  effective statutory rate and  provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20230101__20231231_zj1FkYCjXtrl" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20220101__20221231_zM8DrZ6jdDih" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_maCzjeV_zJiD87SdCthk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: justify"&gt;Income tax benefit at U.S. statutory rate of 21%&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;(2,360,761&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;(1,441,624&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_maCzjeV_z13PvtmEz2B3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;State income taxes&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(404,702&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(247,135&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_maCzjeV_z9guChhoHYej" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Non-deductible expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;271,648&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;201,521&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_maCzjeV_zz87sGiICK24" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Change in valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,493,815&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,487,238&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iT_mtCzjeV_zNozKFlsQqLa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Total provision for income tax&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1529"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1530"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s approximate net deferred tax assets
as of December 31, 2023 and 2022 were as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zd6TonhaaVKb" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - INCOME TAXES (Details - Deferred tax assets)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B6_zl7pA79Nm9mg" style="display: none"&gt;Schedule of net deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline; text-align: justify"&gt;Deferred Tax Asset (Liability):&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 66%; text-align: justify"&gt;Net operating loss carryforward&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20231231_zERrVhggest4" style="width: 14%; text-align: right" title="Net operating loss carryforward"&gt;12,318,836&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20221231_zQMWA48Wdhk8" style="width: 14%; text-align: right" title="Net operating loss carryforward"&gt;9,772,854&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20231231_zvm9kSBVsZ28" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets"&gt;(84,823&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20221231_zxei88MrzmDa" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets"&gt;(32,656&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20231231_zSSrgnsW5p7d" style="text-align: right" title="Gross deferred tax assets"&gt;12,234,013&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20221231_zFbl8eJh0Pcf" style="text-align: right" title="Gross deferred tax assets"&gt;9,740,198&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231_zD7ZDMW251e" style="border-bottom: Black 1pt solid; text-align: right" title="Valuation allowance"&gt;(12,234,013&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231_z65yKg7UBjr6" style="border-bottom: Black 1pt solid; text-align: right" title="Valuation allowance"&gt;(9,740,198&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Net deferred tax assets&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_pdp0_c20231231_ztAYVSxaGSBg" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1550"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxAssetsNet_pdp0_c20221231_zzrXAbTzwIig" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1552"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The gross operating loss carryforward was approximately
$&lt;span id="xdx_905_eus-gaap--OperatingLossCarryforwards_pp0p0_c20231231_zIEt1GVn1yoc" title="Gross operating loss carry forward"&gt;50,076,569&lt;/span&gt; and $&lt;span id="xdx_90C_eus-gaap--OperatingLossCarryforwards_pp0p0_c20221231_zf79b8oROKi1" title="Gross operating loss carry forward"&gt;39,727,050&lt;/span&gt; at December 31, 2023 and 2022, respectively. The Company provided a valuation allowance equal to the net deferred
income tax assets for the years ended December 31, 2023, and 2022 because it was not known whether future taxable income will be sufficient
to utilize the loss carryforward and other deferred tax assets. The increase in the valuation allowance was $&lt;span id="xdx_90C_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_pp0p0_c20230101__20231231_zdnAYk99a0Mi" title="Increase in valuation allowance"&gt;2,493,815&lt;/span&gt; in 2023.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The potential tax benefit arising from the net operating
loss carryforward of $&lt;span id="xdx_90C_eus-gaap--TaxCreditCarryforwardAmount_pp0p0_c20231231_zV9V9xuTNsG9" title="Net operating loss carryforward"&gt;4,357,876&lt;/span&gt; from the period prior to January 1, 2018, will expire in 2037. The potential tax benefit arising from
the net operating loss carryforward of $&lt;span id="xdx_909_ecustom--PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations_pp0p0_c20231231_zrCGiqTTiJlb" title="Potential tax benefit arising from net operating loss carryforward"&gt;7,876,137&lt;/span&gt; generated after January 1, 2018 can be carried forward indefinitely within the annual
usage limitations.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Additionally, the future utilization of the net operating
loss carryforward to offset future taxable income is subject to an annual limitation as a result of ownership or business changes that
may occur in the future. The Company has not conducted a study to determine the limitations on the utilization of these net operating
loss carryforwards. If necessary, the deferred tax assets will be reduced by any carryforward that may not be utilized or expires prior
to utilization as a result of such limitations, with a corresponding reduction of the valuation allowance.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.2in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company does not have any uncertain tax positions
or events leading to uncertainty in a tax position. The Company&#x2019;s 2022, 2021 and 2020 Corporate Income Tax Returns are subject to
Internal Revenue Service examination.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001515">&lt;table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zZwHnnqY4xU8" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - INCOME TAXES (Details - Provision for income taxes)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B4_zFkXwdgPYCVc" style="display: none"&gt;Schedule of difference between income
taxes at  effective statutory rate and  provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20230101__20231231_zj1FkYCjXtrl" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20220101__20221231_zM8DrZ6jdDih" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_maCzjeV_zJiD87SdCthk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 66%; text-align: justify"&gt;Income tax benefit at U.S. statutory rate of 21%&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;(2,360,761&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;(1,441,624&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_maCzjeV_z13PvtmEz2B3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;State income taxes&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(404,702&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(247,135&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_maCzjeV_z9guChhoHYej" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Non-deductible expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;271,648&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;201,521&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_maCzjeV_zz87sGiICK24" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Change in valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,493,815&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,487,238&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iT_mtCzjeV_zNozKFlsQqLa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Total provision for income tax&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1529"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1530"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001517"
      unitRef="USD">-2360761</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001518"
      unitRef="USD">-1441624</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001520"
      unitRef="USD">-404702</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001521"
      unitRef="USD">-247135</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001523"
      unitRef="USD">271648</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001524"
      unitRef="USD">201521</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001526"
      unitRef="USD">2493815</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2022-01-012022-12-31"
      decimals="0"
      id="Fact001527"
      unitRef="USD">1487238</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001532">&lt;table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zd6TonhaaVKb" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - INCOME TAXES (Details - Deferred tax assets)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B6_zl7pA79Nm9mg" style="display: none"&gt;Schedule of net deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline; text-align: justify"&gt;Deferred Tax Asset (Liability):&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 66%; text-align: justify"&gt;Net operating loss carryforward&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20231231_zERrVhggest4" style="width: 14%; text-align: right" title="Net operating loss carryforward"&gt;12,318,836&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_pp0p0_c20221231_zQMWA48Wdhk8" style="width: 14%; text-align: right" title="Net operating loss carryforward"&gt;9,772,854&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20231231_zvm9kSBVsZ28" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets"&gt;(84,823&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--DeferredTaxAssetsGoodwillAndIntangibleAssets_pp0p0_c20221231_zxei88MrzmDa" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets"&gt;(32,656&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20231231_zSSrgnsW5p7d" style="text-align: right" title="Gross deferred tax assets"&gt;12,234,013&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--DeferredTaxAssetsGross_pp0p0_c20221231_zFbl8eJh0Pcf" style="text-align: right" title="Gross deferred tax assets"&gt;9,740,198&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20231231_zD7ZDMW251e" style="border-bottom: Black 1pt solid; text-align: right" title="Valuation allowance"&gt;(12,234,013&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_pp0p0_di_c20221231_z65yKg7UBjr6" style="border-bottom: Black 1pt solid; text-align: right" title="Valuation allowance"&gt;(9,740,198&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Net deferred tax assets&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--DeferredTaxAssetsNet_pdp0_c20231231_ztAYVSxaGSBg" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1550"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxAssetsNet_pdp0_c20221231_zzrXAbTzwIig" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1552"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001534"
      unitRef="USD">12318836</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001536"
      unitRef="USD">9772854</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001538"
      unitRef="USD">-84823</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001540"
      unitRef="USD">-32656</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001542"
      unitRef="USD">12234013</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001544"
      unitRef="USD">9740198</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001546"
      unitRef="USD">12234013</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001548"
      unitRef="USD">9740198</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001554"
      unitRef="USD">50076569</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001556"
      unitRef="USD">39727050</us-gaap:OperatingLossCarryforwards>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact001558"
      unitRef="USD">2493815</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001560"
      unitRef="USD">4357876</us-gaap:TaxCreditCarryforwardAmount>
    <duot:PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001562"
      unitRef="USD">7876137</duot:PotentialTaxBenefitArisingFromNetOperatingLossCarryforwardWithinAnnualUsageLimitations>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001567">&lt;p id="xdx_80A_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zKSQIlE7Sitc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 12 &#x2013; &lt;span id="xdx_826_zfGWEsyARzg7"&gt;STOCKHOLDERS&#x2019; EQUITY&lt;/span&gt; &lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;2016 Equity Plan&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;We maintained the 2016 Equity Incentive Plan (the
&#x201c;2016 Plan&#x201d;) for employees, officers, directors and other entities and individuals whose efforts contribute to our success.
The 2016 Plan terminated pursuant to its terms on December 31, 2020, although all outstanding awards on such date continue in full force
and effect.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;2021 Equity Plan&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On May 12, 2021, the Board adopted, with shareholder
approval as of July 15, 2021, the 2021 Equity Incentive Plan (the &#x201c;2021 Plan&#x201d;) providing for the issuance of up to &lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20210511__20210512__us-gaap--PlanNameAxis__custom--TwoThousandTwentyOneEquityIncentivePlanMember_zIgXWB2RLyj" title="Issuance of Common stock under Awards"&gt;1,000,000&lt;/span&gt;
shares of our Common Stock. The purpose of the 2021 Plan is to assist the Company in attracting and retaining key employees, directors
and consultants and to provide incentives to such individuals to align their interests with those of our shareholders.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;General Description of the 2021 Plan&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following is a summary of the material provisions
of the 2021 Plan and is qualified in its entirety by reference to the complete text of the 2021 Plan, which you are encouraged to read
in full.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Administration&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The 2021 Plan is administered by the Compensation
Committee of the Board, which consists of three members of the Board, each of whom is a &#x201c;non-employee director&#x201d; within the
meaning of Rule 16b-3 promulgated under the Exchange Act and an &#x201c;outside director&#x201d; within the meaning of Code Section 162(m).
Among other things, the Compensation Committee has complete discretion, subject to the express limits of the 2021 Plan, to determine the
directors, employees and nonemployee consultants to be granted an award, the type of award to be granted, the terms and conditions of
the award, the form of payment to be made and/or the number of shares of Common Stock subject to each award, the exercise price of each
option and base price of each stock appreciation right (&#x201c;SAR&#x201d;), the term of each award, the vesting schedule for an award,
whether to accelerate vesting, the value of the Common Stock underlying the award, and the required withholding, if any. The Compensation
Committee may amend, modify or terminate any outstanding award, provided that the participant&#x2019;s consent to such action is required
if the action would impair the participant&#x2019;s rights or entitlements with respect to that award. The Compensation Committee is also
authorized to construe the award agreements and may prescribe rules relating to the 2021 Plan. Notwithstanding the foregoing, the Compensation
Committee does not have any authority to grant or modify an award under the 2021 Plan with terms or conditions that would cause the grant,
vesting or exercise thereof to be considered nonqualified &#x201c;deferred compensation&#x201d; subject to Code Section 409A.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Grant of Awards; Shares Available for Awards&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The 2021 Plan provides for the grant of stock options,
SARs, performance share awards, performance unit awards, distribution equivalent right awards, restricted stock awards, restricted stock
unit awards and unrestricted stock awards to non-employee directors, officers, employees and nonemployee consultants of the Company or
its affiliates. We have reserved a total of &lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20231231_zicLp5QV7Mr2" title="Shares available for grant"&gt;1,000,000&lt;/span&gt; shares of Common Stock for issuance as or under awards to be made under the 2021
Plan. If any award expires, is cancelled, or terminates unexercised or is forfeited, the number of shares subject thereto is again available
for grant under the 2021 Plan.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Stock Options&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The 2021 Plan provides for either
&#x201c;incentive stock options&#x201d; (&#x201c;ISOs&#x201d;), which are intended to meet the requirements for special federal income
tax treatment under the Code, or &#x201c;nonqualified stock options&#x201d; (&#x201c;NQSOs&#x201d;). On May 12, 2021, the 2021 Plan was
approved by the board of directors and by the shareholders on July 15, 2021. Stock options may be granted on such terms and
conditions as the Compensation Committee may determine; provided, however, that the per share exercise price under a stock option
may not be less than the fair market value of a share of the Company&#x2019;s Common Stock on the date of grant and the term of the
stock option may &lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward_c20230101__20231231__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--EmployeeStockOptionMember_zlOyYhXJ5qIk" title="Common stock on the date of grant, term of the stock option"&gt;not
exceed 10 years&lt;/span&gt; (110% of such value and five years in the case of an ISO granted to an employee who owns (or is deemed to
own) &lt;span id="xdx_909_eus-gaap--CommonStockVotingRights_c20230101__20231231__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--EmployeeStockOptionMember_zHS3gO4XtLqa" title="Voting rights"&gt;more
than 10% of the total combined voting power of all classes of capital stock&lt;/span&gt; of the Company or a parent or subsidiary of the
Company). ISOs may only be granted to employees. In addition, the aggregate fair market value of our Common Stock covered by one or
more ISOs (determined at the time of grant) which are exercisable for the first time by an employee during any calendar year may not
exceed $&lt;span id="xdx_901_ecustom--AggregateFairMarketValueOfOurCommonStockNotExceed_pp0p0_c20230101__20231231__us-gaap--OptionIndexedToIssuersEquityTypeAxis__us-gaap--EmployeeStockOptionMember_zVvTiCrACz58" title="Aggregate fair market value of common stock"&gt;100,000&lt;/span&gt;.
Any excess is treated as a NQSO.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Stock Appreciation Rights&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;An SAR entitles the participant, upon exercise, to
receive an amount, in cash or stock or a combination thereof, equal to the increase in the fair market value of the underlying Common
Stock between the date of grant and the date of exercise. SARs may be granted in tandem with, or independently of, stock options granted
under the 2021 Plan. An SAR granted in tandem with a stock option (i) is exercisable only at such times, and to the extent, that the related
stock option is exercisable in accordance with the procedure for exercise of the related stock option; (ii) terminates upon termination
or exercise of the related stock option (likewise, the Common Stock option granted in tandem with a SAR terminates upon exercise of the
SAR); (iii) is transferable only with the related stock option; and (iv) if the related stock option is an ISO, may be exercised only
when the value of the stock subject to the stock option exceeds the exercise price of the stock option. An SAR that is not granted in
tandem with a stock option is exercisable at such times as the Compensation Committee may specify.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Performance Share and Performance Unit Awards&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Performance share and performance unit awards entitle
the participant to receive cash or shares of our Common Stock upon the attainment of specified performance goals. In the case of performance
units, the right to acquire the units is denominated in cash values.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Restricted Stock Awards and Restricted Stock
Unit Awards&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;A restricted stock award is a grant or sale of Common
Stock to the participant, subject to our right to repurchase all or part of the shares at their purchase price (or to require forfeiture
of such shares if issued to the participant at no cost) in the event that conditions specified by the Compensation Committee in the award
are not satisfied prior to the end of the time period during which the shares subject to the award may be repurchased by or forfeited
to us. Our restricted stock unit entitles the participant to receive a cash payment equal to the fair market value of a share of Common
Stock for each restricted stock unit subject to such restricted stock unit award, if the participant satisfies the applicable vesting
requirement.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Unrestricted Stock Awards&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;An unrestricted stock award is a grant or sale of
shares of our Common Stock to the participant that is not subject to transfer, forfeiture or other restrictions, in consideration for
past services rendered to the Company or an affiliate or for other valid consideration.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 15pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Amendment and Termination&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Compensation Committee may adopt, amend and rescind
rules relating to the administration of the 2021 Plan, and amend, suspend or terminate the 2021 Plan, but no such amendment, rescission,
suspension or termination will be made that materially and adversely impairs the rights of any participant with respect to any award received
thereby under the 2021 Plan without the participant&#x2019;s consent, other than amendments that are necessary to permit the granting of
awards in compliance with applicable laws.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Series B Convertible Preferred Stock&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following summary of certain terms and provisions
of our Series B Convertible Preferred Stock (the &#x201c;Series B Convertible Preferred Stock&#x201d;) is subject to, and qualified in its
entirety by reference to, the terms and provisions set forth in our certificate of designation of preferences, rights and limitations
of Series B Convertible Preferred Stock (the &#x201c;Series B Convertible Preferred Certificate of Designation&#x201d;) as previously filed.
Subject to the limitations prescribed by our articles of incorporation, our board of directors is authorized to establish the number of
shares constituting each series of preferred stock and to fix the designations, powers, preferences, and rights of the shares of each
of those series and the qualifications, limitations and restrictions of each of those series, all without any further vote or action by
our stockholders. Our board of directors designated &lt;span id="xdx_906_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zG6SHhhURxEc" title="Preferred stock, shares authorized"&gt;15,000&lt;/span&gt; of the &lt;span id="xdx_904_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231_zC2DpseXadn6" title="Preferred stock, shares authorized"&gt;10,000,000&lt;/span&gt; authorized shares of preferred stock as Series B Convertible
Preferred Stock with a stated value of $&lt;span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zhN0MW7RxQzi" title="Preferred stock, par value"&gt;1,000&lt;/span&gt; per share. The shares of Series B Convertible Preferred Stock were validly issued, fully
paid and non-assessable.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Each share of Series B Convertible Preferred
Stock was convertible at any time at the holder&#x2019;s option into a number of shares of common stock equal to $&lt;span id="xdx_904_eus-gaap--ConversionOfStockAmountConverted1_pp0p0_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesBConvertiblePreferredStockMember_zvD66E4ZdcLc" title="Conversion of stock, value"&gt;1,000
&lt;/span&gt;divided by the conversion price of $&lt;span id="xdx_90C_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesBConvertiblePreferredStockMember_z2lqbAovtdb4" title="Conversion price"&gt;7.00
&lt;/span&gt;per share. Notwithstanding the foregoing, we could not effect any conversion of Series B Convertible Preferred Stock, with certain
exceptions, to the extent that, after giving effect to an attempted conversion, the holder of shares of Series B Convertible Preferred
Stock (together with such holder&#x2019;s affiliates, and any persons acting as a group together with such holder or any of such holder&#x2019;s
affiliates) would beneficially own a number of shares of our common stock in excess of 4.99% (or, at the election of the purchaser, 9.99%)
of the shares of our common stock then outstanding after giving effect to such conversion. The Series B Convertible Preferred Certificate
of Designation does not prohibit the Company from waiving this limitation. Upon any liquidation, dissolution or winding-up of Company,
whether voluntary or involuntary (a &#x201c;Liquidation&#x201d;), the holders shall be entitled to participate on an as-converted-to-common
stock basis (without giving effect to the Beneficial Ownership Limitation) with holders of the common stock in any distribution of assets
of the Company to the holders of the common stock. As of December 31, 2023 and December 31, 2022, respectively, there are zero &lt;b style="display: none"&gt;&lt;span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_z9BCa8J7DBi7" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_909_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zHicwgjgwG3c" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
and zero &lt;b style="display: none"&gt;&lt;span id="xdx_904_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zT6axTu5KOYh" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_90A_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zwf1MVZFE0X" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; shares of Series B Convertible Preferred Stock issued and outstanding.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Series C Convertible Preferred Stock&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s Board of Directors designated
&lt;span id="xdx_900_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zMmKaOF2aek6"&gt;5,000
&lt;/span&gt;shares as the Series C Convertible Preferred Stock (the &#x201c;Series C Convertible Preferred Stock&#x201d;). Each share of the
Series C Convertible Preferred Stock has a stated value of $&lt;span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zDkM3cLnoFIh"&gt;1,000&lt;/span&gt;.
The holders of the Series C Convertible Preferred Stock, the holders of the common stock and the holders of any other class or series
of shares entitled to vote with the common stock shall vote together as one class on all matters submitted to a vote of shareholders
of the Company. &lt;span id="xdx_90F_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zMDuKG7LVKTk"&gt;Each
share of Series C Convertible Preferred Stock had 172 votes (subject to adjustment); provided that in no event may a holder of Series
C Convertible Preferred Stock be entitled to vote a number of shares in excess of such holder&#x2019;s Beneficial Ownership Limitation
(as defined in the Certificate of Designation and as described below). Each share of Series C Convertible Preferred Stock was convertible,
at any time and from time to time, at the option of the holder, into that number of shares of common stock (subject to the Beneficial
Ownership Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price, which is $5.50 (subject
to adjustment). The Company shall not effect any conversion of the Series C Convertible Preferred Stock, and a holder shall not have
the right to convert any portion of the Series C Convertible Preferred Stock, to the extent that after giving effect to the conversion
sought by the holder such holder (together with such holder&#x2019;s Attribution Parties (as defined in the Certificate of Designation))
would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock outstanding immediately
after giving effect to the issuance of shares of common stock issuable upon such conversion (the &#x201c;Beneficial Ownership Limitation&#x201d;).
All holders of the Series C Preferred Stock elected the 19.99% Beneficial Ownership Limitation.&lt;/span&gt;&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On February 26, 2021, the Company entered into a
Securities Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with certain existing investors in the Company (the &#x201c;Purchasers&#x201d;).
Pursuant to the Purchase Agreement, the Purchasers purchased 4,500 shares of a newly authorized Series C Convertible Preferred Stock,
and the Company received proceeds of $&lt;span id="xdx_90D_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20210225__20210226__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zF87pI0cIp28"&gt;4,500,000&lt;/span&gt;.
The Purchase Agreement contains customary representations, warranties, agreements and indemnification rights and obligations of the parties.
In January 2022, the 2,500 outstanding shares of Series C Convertible Preferred Stock were converted into &lt;span id="xdx_909_ecustom--SeriesCPreferredConvertedToCommonStockShares_c20220101__20220131__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zkdL7mJfg2w2" title="Series C preferred converted to common stock shares"&gt;454,546
&lt;/span&gt;shares of common stock. As of December 31, 2023 and December 31, 2022, respectively, there were zero &lt;b style="display: none"&gt;&lt;span id="xdx_906_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zg55JBqFAYEk" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_90B_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zMKbRORVBl7d" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; and zero &lt;b style="display: none"&gt;&lt;span id="xdx_90C_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zgNuGljw0fl2" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_z2JJTHYKiHMd" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
shares of Series C Convertible Preferred Stock issued and outstanding.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In connection with the Purchase Agreement, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company filed
with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of Series
C Convertible Preferred Stock were convertible. The Registration Rights Agreement contains customary representations, warranties, agreements
and indemnification rights and obligations of the parties.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Series D Convertible Preferred Stock&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On September 28, 2022, the Company amended its
articles of incorporation to designate &lt;span id="xdx_909_eus-gaap--PreferredStockSharesAuthorized_iI_c20220928__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zvmZ7fTPrMo4" title="Preferred stock, shares authorized"&gt;4,000&lt;/span&gt;
shares as the Series D Convertible Preferred Stock (the &#x201c;Series D Convertible Preferred Stock&#x201d;). Each share of the
Series D Convertible Preferred Stock has a stated value of $&lt;span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20220928__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zCFhvaL67jLd" title="Preferred stock, par value"&gt;1,000&lt;/span&gt;.
The holders of the Series D Convertible Preferred Stock, the holders of the common stock and the holders of any other class or
series of shares entitled to vote with the common stock shall vote together as one class on all matters submitted to a vote of
shareholders of the Company. &lt;span id="xdx_903_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zFj1Sibu234f" title="Preferred stock voting rights"&gt;Each
share of Series D Convertible Preferred Stock has 333 votes&lt;/span&gt; (subject to standard anti-dilution adjustment); provided that in
no event may a holder of Series D Convertible Preferred Stock be entitled to vote a number of shares in excess of such
holder&#x2019;s Beneficial Ownership Limitation (as defined in the Certificate of Designation and as described below). Each share of
Series D Convertible Preferred Stock is convertible, at any time and from time to time, at the option of the holder, into that
number of shares of common stock (subject to the Beneficial Ownership Limitation) determined by dividing the stated value of such
share ($1,000) by the conversion price, which is $&lt;span id="xdx_900_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zZFJp7gmpUt8" title="Conversion price"&gt;3.00&lt;/span&gt;
(subject to adjustment). The Company shall not effect any conversion of the Series D Convertible Preferred Stock, and a holder shall
not have the right to convert any portion of the Series D Convertible Preferred Stock, to the extent that after giving effect to the
conversion sought by the holder such holder (together with such holder&#x2019;s Attribution Parties (as defined in the Certificate of
Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion (the
&#x201c;Beneficial Ownership Limitation&#x201d;). All holders of the Series D Preferred Stock elected the 19.99% Beneficial Ownership
Limitation. The Company shall reserve and keep available out of its authorized and unissued Common Stock, solely for the issuance
upon the conversion of the Series D Convertible Preferred Stock, such a number of shares of Common Stock as shall from time to time
be issuable upon the conversion of all of the shares of the Series D Convertible Preferred Stock then outstanding. Additionally, the
Series D Convertible Preferred Stock does not have the right to dividends and in the event of an involuntary liquidation, the Series
D shares shall be treated as a pro rata equivalent of common stock outstanding at the date of the liquidation event and have no
liquidation preference.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On September 30, 2022, the Company entered into a
Securities Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with certain existing investors in the Company (the &#x201c;Purchasers&#x201d;).
Pursuant to the Purchase Agreement, the Purchasers purchased &lt;span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_c20220930__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember_zj5HvVP2bIjk" title="Preferred stock, shares issued"&gt;999&lt;/span&gt; shares of the newly authorized Series D Convertible Preferred Stock,
and the Company received proceeds of $&lt;span id="xdx_902_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20220701__20220930__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zfGGnx7f7XC3" title="Proceeds from convertible preferred stock"&gt;999,000&lt;/span&gt;. The Purchase Agreement contains customary representations, warranties, agreements and indemnification
rights and obligations of the parties.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On October 29, 2022, the Company entered into a Securities
Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with a certain existing investor in the Company (the &#x201c;Purchaser&#x201d;).
Pursuant to the Purchase Agreement, the Purchaser purchased &lt;span id="xdx_901_eus-gaap--PreferredStockSharesIssued_iI_c20221029__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__us-gaap--PrivatePlacementMember_z8Rg1iAbWQJi" title="Preferred stock, shares issued"&gt;300&lt;/span&gt; shares of the newly authorized Series D Convertible Preferred Stock, and
the Company received proceeds of $&lt;span id="xdx_90F_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_pp0p0_c20221028__20221029__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__us-gaap--PrivatePlacementMember_zaAWnsv5BNb9" title="Proceeds from convertible preferred stock"&gt;300,000&lt;/span&gt;. The Purchase Agreement contains customary representations, warranties, agreements and indemnification
rights and obligations of the parties.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In connection with such Purchase Agreements, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company filed
with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of Series
D Convertible Preferred Stock are convertible. The Registration Rights Agreement contains customary representations, warranties, agreements
and indemnification rights and obligations of the parties.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/106% Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On May 16, 2023 the Series D Convertible Preferred Stock was approved
for conversion to common shares during the Company&#x2019;s annual shareholder meeting.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As of December 31, 2023 and December 31, 2022, respectively,
there were &lt;span id="xdx_908_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z1vLqqzMYPv1" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_90C_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_z8Q6oSxxOTqd" title="Preferred stock, shares outstanding"&gt;1,299&lt;/span&gt;&lt;/span&gt; and &lt;span id="xdx_909_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zP24RNtCVk21" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesDPreferredStockMember_zSbBa3dn66jl" title="Preferred stock, shares outstanding"&gt;1,299&lt;/span&gt;&lt;/span&gt; shares of Series D Convertible Preferred Stock issued and outstanding.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Series E Convertible Preferred Stock &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&#x2019;s Board of Directors has designated
&lt;span id="xdx_900_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zWRhQsknoXZg"&gt;30,000&lt;/span&gt; shares as the Series E Convertible Preferred Stock (the &#x201c;Series E Convertible Preferred Stock&#x201d;). Each share of the
Series E Convertible Preferred Stock has a stated value of $&lt;span id="xdx_906_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zGTAEfqlVahj"&gt;1,000&lt;/span&gt;. The holders of the Series E Convertible Preferred Stock, the holders
of the common stock and the holders of any other class or series of shares entitled to vote with the common stock shall vote as one class
on all matters submitted to a vote of shareholders of the Company. &lt;span id="xdx_90C_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z7d3DVAb002l"&gt;Each share of Series E Preferred Stock has 333 votes&lt;/span&gt; (subject to adjustment);
provided that in no event may a holder of Series E Preferred Stock be entitled to vote a number of shares in excess of such holder&#x2019;s
Beneficial Ownership Limitation. Each share of Series E Convertible Preferred Stock is convertible, subject to shareholder approval (which
has not yet been granted); at any time and from time to time, at the option of the holder, into that number of shares of common stock
(subject to the Beneficial Ownership Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price,
which is $3.00 (subject to adjustment). The Company shall not effect any conversion of the Series E Convertible Preferred Stock, and the
holder shall not have the right to convert any portion of the Series E Convertible Preferred Stock, to the extent that after giving effect
to the conversion sought by the holder such holder (together with such holder&#x2019;s Attribution Parties (as defined in the Certificate
of Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion (the &#x201c;Beneficial
Ownership Limitation&#x201d;). All holders of the Series E Convertible Preferred Stock elected the 19.99% Beneficial Ownership Limitation.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company on March 27, 2023 entered into a Securities
Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with an existing investor in the Company (the &#x201c;Purchaser&#x201d;). Pursuant
to the Purchase Agreement, the Purchaser purchased &lt;span id="xdx_90E_eus-gaap--PreferredStockSharesIssued_iI_c20230327__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z1MbwnLQ9F79" title="Preferred stock, shares issued"&gt;4,000&lt;/span&gt; shares of a newly authorized Series E Convertible Preferred Stock at a price
of $&lt;span id="xdx_908_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20230327__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zl9rW0fULv29" title="Preferred stock, par value"&gt;1,000&lt;/span&gt; per share, and the Company received proceeds of $&lt;span id="xdx_902_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20230326__20230327__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember__us-gaap--TypeOfArrangementAxis__custom--PurchaseAgreementMember_zkBjSAMoSJs9" title="Proceeds from convertible preferred stock"&gt;4,000,000&lt;/span&gt;. The Purchase Agreement contains customary representations, warranties,
agreements and indemnification rights and obligations of the parties.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The existing investor&#x2019;s Purchase Agreement also
provides that the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the
Purchase Agreement) on or prior to December 31, 2023 that entitles any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Convertible Preferred Stock without the consent of the Purchaser.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On November 9, 2023, the Company entered into a
Securities Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with an existing investor in the Company (the
&#x201c;Purchaser&#x201d;). Pursuant to the Purchase Agreement, the Purchaser purchased &lt;span id="xdx_901_ecustom--SeriesEPreferredConvertiblePreferredStockShares_c20231108__20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_ziqXl2Nenuid" title="Series E preferred convertible preferred stock, Shares"&gt;2,500&lt;/span&gt;
shares of authorized Series E Convertible Preferred Stock, at a price of $&lt;span id="xdx_90C_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zxF4A9Uy1uug" title="Preferred stock, par value"&gt;1,000&lt;/span&gt;
per share, and the Company received proceeds of $&lt;span id="xdx_90F_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20231108__20231109__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_z8rimJc1KCO5" title="Proceeds from convertible preferred stock"&gt;2,500,000&lt;/span&gt;.
In connection with the November 2023 Series E Convertible Preferred Stock offering, the Company entered into an Exchange Agreement
with the investor and issued an additional &lt;span id="xdx_904_eus-gaap--SharesIssued_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zmanpazsAeHl" title="Additional shares"&gt;5,000&lt;/span&gt;
shares of Series E Convertible Preferred Stock at $&lt;span id="xdx_90F_eus-gaap--SharePrice_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zQdlK1yZmGDe" title="Share price"&gt;1,000&lt;/span&gt;
per share with the $&lt;span id="xdx_90C_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zrBkM6lgiUd4" title="Price per common share"&gt;3.00&lt;/span&gt;
per common share common stock equivalent conversion price in exchange for &lt;span id="xdx_90E_ecustom--StockExchangeShares_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zwQHrEnBBLF4" title="Exchange shares"&gt;5,000&lt;/span&gt;
outstanding and issued shares of Series F Convertible Preferred Stock, which were convertible to common stock at $&lt;span id="xdx_903_eus-gaap--SharesIssuedPricePerShare_iI_c20231109__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_z8Ri1Z9iex5b" title="Price per common share"&gt;6.20&lt;/span&gt;
per common share. All shares of Series F Convertible Preferred Stock were held by a single shareholder.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The November Purchase Agreement also provides that
the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the November Purchase
Agreement) on or prior to June 30, 2024 that entitles any person to acquire shares of common stock at an effective price per share less
than the then conversion price of the Series E Preferred Stock without the consent of the Purchasers. The conversion price of the Series
E Preferred Stock currently is $3.00 per share (subject to adjustment).&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Purchasers under the November Purchase Agreement
also were the holders of the Company's Series F Preferred Stock issued on August 1, 2023. The purchase agreement relating to the shares
of Series F Preferred Stock required the consent of the holders in the event the Company were to issue common stock or rights to acquire
common stock prior to December 31, 2023 at an effective price per share less than the then conversion price of the Series F Preferred
Stock, which was $&lt;span id="xdx_90E_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z8J4CqGsXUWj" title="Preferred stock, par value"&gt;6.20&lt;/span&gt; per share. As a result, on November 10, 2023 the Company and the holders of the Series F Preferred Stock entered
into Exchange Agreements pursuant to which the holders of Series F Preferred Stock exchanged their &lt;span id="xdx_90E_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z1ugYxC0BqX1" title="Additional shares"&gt;5,000&lt;/span&gt; shares of Series F Preferred
Stock for an equal number of shares of Series E Preferred Stock. As a result of the November Purchase Agreement and the Exchange Agreements,
the Company issued a total of &lt;span id="xdx_90C_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesEPreferredStockMember_zFXeYOPqpe1" title="Additional shares"&gt;7,500&lt;/span&gt; shares of Series E Preferred Stock and the &lt;span id="xdx_90E_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zZYo1FQjtnG" title="Additional shares"&gt;5,000&lt;/span&gt; shares of Series F Preferred Stock were cancelled.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The existing investor&#x2019;s Purchase Agreement also
provides that the Company would not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the
Purchase Agreement) on or prior to December 31, 2023 that entitled any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Convertible Preferred Stock without the consent of the Purchaser.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As of December 31, 2023 and December 31, 2022, respectively,
there were &lt;span id="xdx_903_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zNxKHfI4Xa13" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_908_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zHe8KsTmRA6" title="Preferred stock, shares outstanding"&gt;11,500&lt;/span&gt;&lt;/span&gt; and &lt;span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zJIwVWDwqFy1" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zy7DTlM5KInd" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;&lt;/span&gt; shares of Series E Convertible Preferred Stock issued and outstanding.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Series F Convertible Preferred Stock&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On August 2, 2023, the Company entered into a Securities
Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with an existing, accredited investor in the Company (the &#x201c;Purchaser&#x201d;).
Pursuant to the Purchase Agreement, the Purchaser purchased &lt;span id="xdx_901_ecustom--SeriesFPreferredConvertiblePreferredStockShares_c20230730__20230802_zSv4hghWykVc" title="Series F preferred convertible preferred stock, Shares"&gt;5,000&lt;/span&gt; shares of a newly authorized Series F Convertible Preferred Stock (the
&#x201c;Series F Convertible Preferred Stock&#x201d;), and the Company received proceeds of $&lt;span id="xdx_90C_eus-gaap--ProceedsFromIssuanceOfConvertiblePreferredStock_c20230730__20230802_zNiRpoeGbSWi" title="Proceeds from convertible preferred stock"&gt;5,000,000&lt;/span&gt;. The Purchase Agreement contains
customary representations, warranties, agreements and indemnification rights and obligations of the parties.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company's Board of Directors designated &lt;span id="xdx_90B_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z6u1rSdYiydd" title="Preferred stock, shares authorized"&gt;5,000&lt;/span&gt;
shares as the Series F Preferred Stock. Each share of Series F Preferred Stock is convertible, at any time and from time to time, at
the option of the holder, into that number of shares of common stock (subject to the beneficial ownership limitation described
below) determined by dividing the stated value of such share ($&lt;span id="xdx_905_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zGi8J2a77DF9" title="Preferred stock, par value"&gt;1,000&lt;/span&gt;)
by the conversion price, which is $&lt;span id="xdx_90D_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z51I1i0hGWB" title="Conversion price"&gt;6.20&lt;/span&gt;
(subject to adjustment) which equates to 161 common shares for each converted Series F preferred share. The Company, however, shall not effect any conversion of the Series F Preferred Stock, and the holder
shall not have the right to convert any portion of the Series F Preferred Stock, to the extent that after giving effect to the
conversion sought by the holder such holder (together with such holder&#x2019;s Attribution Parties (as defined in the Certificate of
Designation)) would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock
outstanding immediately after giving effect to the issuance of shares of common stock issuable upon such conversion. The purchasers
of the Series F Preferred Stock elected that their ownership limitation would be 19.99%.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The holders of the Series F Preferred Stock, the holders
of the common stock and the holders of any other class or series of shares entitled to vote with the common stock shall vote together
as one class on all matters submitted to a vote of shareholders of the Company. &lt;span id="xdx_900_eus-gaap--PreferredStockVotingRights_c20230101__20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zjTmKrb58wml" title="Preferred stock voting rights"&gt;Each share of Series F Preferred Stock had 161 votes&lt;/span&gt; (subject
to adjustment); provided that in no event may a holder of Series F Preferred Stock be entitled to vote a number of shares in excess of
such holder&#x2019;s ownership limitation.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company also agreed that it would not, with certain
exceptions, sell or issue common stock or Common Stock Equivalents (as defined in the Purchase Agreement relating to the Series F Preferred
Stock) on or prior to December 31, 2023 that entitled any person to acquire shares of common stock at an effective price per share less
than the then conversion price of the Series F Preferred Stock without the consent of the holders. As a result of that agreement, upon
the issuance of &lt;span id="xdx_90C_eus-gaap--SharesIssued_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_znMtlKNCwLHh" title="Additional shares"&gt;2,500&lt;/span&gt; shares of Series E Preferred Stock (which have a conversion price of $&lt;span id="xdx_90B_eus-gaap--PreferredStockConvertibleConversionPrice_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zJx9JwAcSOF1" title="Conversion price"&gt;3.00&lt;/span&gt; per share) on November 10, 2023, the
holders exchanged their &lt;span id="xdx_906_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zdfKuipyr5Qh" title="Exchange of shares"&gt;5,000&lt;/span&gt; shares of Series F Preferred Stock for &lt;span id="xdx_904_ecustom--StockExchangeShares_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember_zpR4YiDARcL5" title="Exchange of shares"&gt;5,000&lt;/span&gt; shares of Series E Preferred Stock. All of the shares of Series
F Preferred Stock thereupon were cancelled with &lt;span id="xdx_901_eus-gaap--CapitalUnitsOutstanding_iI_c20231110__us-gaap--StatementClassOfStockAxis__custom--SeriesFConvertiblePreferredStockMember_zGSNr7VyeT55" title="Shares outstanding"&gt;0&lt;/span&gt; shares now outstanding.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As of December 31, 2023 and December 31, 2022, respectively,
there were &lt;span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z1ncmwT3CFp7" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_c20231231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zdzpULob2kRc" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;&lt;/span&gt; and &lt;span id="xdx_90A_eus-gaap--PreferredStockSharesIssued_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_zrLiQOAj4EDe" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_c20221231__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesFPreferredStockMember_z3Rso6sx9PE" title="Preferred stock, shares outstanding"&gt;0&lt;/span&gt;&lt;/span&gt; shares of Series F Convertible Preferred Stock issued and outstanding.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Common stock issued&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;2023 Transactions&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On March 31, 2023, the Company issued &lt;span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zAPha2tkgkZ1" title="Stock issued for services , shares"&gt;12,463&lt;/span&gt; shares
of common stock for payment of board fees to three directors for a value of $&lt;span id="xdx_905_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zrJ9KQ1V0Cjj" title="Stock issued for services, value"&gt;32,500&lt;/span&gt; for services to the board which was expensed during
the three months ended March 31, 2023. The value of the shares is based on the March 31, 2023 grant date quoted trading price of $&lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20230331__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zpKdAnsR9eQf" title="Weighted average price per share"&gt;2.61&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On June 30, 2023, the Company issued &lt;span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230401__20230630__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zrr4GG3TuEw2" title="Stock issued for services , shares"&gt;5,645&lt;/span&gt; shares
of common stock for payment of board fees to three directors for a value of $&lt;span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20230401__20230630__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zvJyiWWgR7mb" title="Stock issued for services, value"&gt;32,500&lt;/span&gt; for services to the board which was expensed during
the three months ended June 30, 2023. The value of the shares is based on the June 30, 2023 grant date quoted trading price of $&lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20230630__srt--TitleOfIndividualAxis__custom--ThreeDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zQzhXfrJRFvg" title="Weighted average price per share"&gt;5.76&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On June 30, 2023, the Company issued &lt;span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z83BBq4hjH2k" title="Stock issued for services , shares"&gt;65,561&lt;/span&gt;
shares of common stock to employees participating in the Company&#x2019;s Employee Stock Purchase Plan at the end of a six-month
offering period. The employee contributions totaled $&lt;span id="xdx_90F_eus-gaap--EmployeeStockOwnershipPlanESOPCashContributionsToESOP_pp0p0_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zyxVOD8WQH8h" title="Total employee participation amount"&gt;117,048&lt;/span&gt;
for the six months ended June 30, 2023 and represented a purchase price of $&lt;span id="xdx_902_eus-gaap--SharePrice_iI_c20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zghT7AUoadP7" title="Purchase price per share"&gt;1.79&lt;/span&gt;
per share and stock-based compensation of $&lt;span id="xdx_900_eus-gaap--AllocatedShareBasedCompensationExpense_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zaYoCQlZXage" title="Stock-based compensation"&gt;66,217&lt;/span&gt; was recognized.
The purchase price for one share of Common Stock under the ESPP is equal to 85% of the fair market value of one share of Common
Stock on the first trading day of the offering period or the purchase date, whichever is lower.&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company issued &lt;span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230701__20230930__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_pdd" title="Stock issued for services , shares"&gt;7,910&lt;/span&gt; shares of common stock for
payment of board fees to four directors for a value of $&lt;span id="xdx_904_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230701__20230930__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_pp0p0" title="Stock issued for services, value"&gt;40,565&lt;/span&gt; for services to the board which was expensed during the three months ended
September 30, 2023. The value of the shares is based on the September 29, 2023 grant date quoted trading price of $&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_c20230929__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_pdd" title="Weighted average price per share"&gt;5.13&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: #2B579A"&gt;&lt;/p&gt;

&lt;p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;For the three months ended September 30, 2023, the Company had an
accrued liability of $&lt;span id="xdx_902_eus-gaap--AccruedLiabilitiesCurrentAndNoncurrent_iI_c20230930__us-gaap--AwardTypeAxis__custom--ESPPMember_zTzv9Vcc5Vx" title="Accrued liability"&gt;72,801&lt;/span&gt; of employee contributions for the ESPP which may convert to shares of common stock upon the close of the
offering period open from July 1, 2023 to December 31, 2023.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company issued &lt;span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20231001__20231231__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zphPYBWN5YR5" title="Stock issued for services , shares"&gt;12,231&lt;/span&gt; shares of common stock for
payment of board fees to four directors for a value of $&lt;span id="xdx_900_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20231001__20231231__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zUov3SfgEnw9" title="Stock issued for services, value"&gt;37,500&lt;/span&gt; for services to the board which was expensed during the three months ended
December 31, 2023. The value of the shares is based on the December 29, 2023 grant date quoted trading price of $&lt;span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased_iI_c20231231__srt--TitleOfIndividualAxis__custom--FourDirectorsMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z9vUZO3I4vVf" title="Weighted average price per share"&gt;3.06&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On December 29, 2023, the Company issued &lt;span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230701__20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoW7y5ubdiJ2" title="Stock issued for services , shares"&gt;45,977&lt;/span&gt;
shares of common stock to employees participating in the Company&#x2019;s Employee Stock Purchase Plan at the end of a six-month
offering period. The employee contributions totaled $&lt;span id="xdx_901_eus-gaap--EmployeeStockOwnershipPlanESOPCashContributionsToESOP_pp0p0_c20230701__20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z8EbnjxUVS9l" title="Total employee participation amount"&gt;113,352&lt;/span&gt;
for the six months ended December 29, 2023 and represented a purchase price of $&lt;span id="xdx_902_eus-gaap--SharePrice_iI_c20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXVHf9Yz213a" title="Purchase price per share"&gt;2.47&lt;/span&gt;
per share and stock-based compensation of $&lt;span id="xdx_901_eus-gaap--AllocatedShareBasedCompensationExpense_c20230701__20231229__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zqERi5RA4ghg" title="Stock-based compensation"&gt;70,434&lt;/span&gt; was recognized. The purchase price for one share of Common Stock under the ESPP is equal to 85% of the fair market value of one share of
Common Stock on the first trading day of the offering period or the purchase date, whichever is lower.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;2022 Transactions&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On January 11, 2022, shareholders converted &lt;span id="xdx_90A_ecustom--ConversionOfStockSharesIssued_c20220110__20220111_zpQeddrAwtob" title="Conversion of shares"&gt;710&lt;/span&gt;&#160;and
&lt;span id="xdx_909_ecustom--ConversionOfStockSharesIssued_c20220110__20220111__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesCPreferredStockMember_zviBF09Pip43" title="Conversion of shares"&gt;1,790&lt;/span&gt; for a total of 2,500 shares of Series C Convertible Preferred Stock collectively with a stated value of $2.5 million owned by two
entities related to each other with a conversion price of $&lt;span id="xdx_903_eus-gaap--CommonStockConvertibleConversionPriceIncrease_c20220110__20220111_zbnHIB8XpQWh" title="Conversion price"&gt;5.50&lt;/span&gt; per common share resulting in the issuance of 129,091 and 325,455 shares
of the Company&#x2019;s common stock.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On February 3, 2022, the Company closed an offering
of &lt;span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220202__20220203_zrPNrCasW7Y" title="Number of shares issued, shares"&gt;1,325,000&lt;/span&gt; shares of common stock in the amount of $&lt;span id="xdx_902_eus-gaap--StockIssuedDuringPeriodValueNewIssues_pp0p0_c20220202__20220203_zGu3kt8EDgvi" title="Number of shares issued, value"&gt;5,300,000&lt;/span&gt; or $&lt;span id="xdx_902_eus-gaap--SharePrice_iI_c20220203_z2APMPsbx4cb" title="Purchase price per share"&gt;4&lt;/span&gt; per share before certain underwriting fees and offering expenses
with net proceeds of $&lt;span id="xdx_903_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_pp0p0_c20220202__20220203_zxCVGIWhwNFh" title="Proceeds from offering cost"&gt;4,779,000&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On February 21, 2022, the Company closed on an &#x201c;over-allotment&#x201d;
offering of &lt;span id="xdx_903_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220220__20220221_zVvmL5BmgZK" title="Number of shares issued, shares"&gt;198,750&lt;/span&gt; shares of common stock in the amount of $&lt;span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueNewIssues_pp0p0_c20220220__20220221_zAzuGNrkyLLe" title="Number of shares issued, value"&gt;795,000&lt;/span&gt; or $&lt;span id="xdx_90E_eus-gaap--SharePrice_iI_c20220221_zqsrPQzsrQY4" title="Purchase price per share"&gt;4&lt;/span&gt; per share before certain underwriting fees and offering expenses
with net proceeds of $&lt;span id="xdx_90F_eus-gaap--ProceedsFromIssuanceInitialPublicOffering_pp0p0_c20220220__20220221_ztheXUxFodaj" title="Proceeds from offering cost"&gt;739,350&lt;/span&gt;. Both this and the previous issuance were &#x201c;takedowns&#x201d; from a previously filed &#x201c;shelf&#x201d;
registration statement for the offer of up to $&lt;span id="xdx_90E_eus-gaap--CommonStockIssuedEmployeeTrustDeferred_iI_pp0p0_c20220221_zp9j6T4s3WV8" title="Aggregate common stock"&gt;50,000,000&lt;/span&gt; in the aggregate of common stock, Preferred Stock, Debt Securities, Warrants,
Rights or Units from time to time in one or more offerings.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On March 31, 2022, the Company issued &lt;span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220101__20220331__srt--TitleOfIndividualAxis__srt--DirectorMember_zaH6tUO0n9dh" title="Stock issued for services , shares"&gt;7,198&lt;/span&gt;
shares of common stock for payment of board fees to four directors in the amount of $&lt;span id="xdx_905_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20220101__20220331__srt--TitleOfIndividualAxis__srt--DirectorMember_z1JbQpBPum9" title="Stock issued for services, value"&gt;40,000&lt;/span&gt;
at $&lt;span id="xdx_90D_eus-gaap--SaleOfStockPricePerShare_iI_c20230331__srt--TitleOfIndividualAxis__srt--DirectorMember_zMBd0KRw9Tt9" title="Services per share"&gt;5.56&lt;/span&gt; per share for services to the board which was expensed during the three months ended March 31, 2022.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On June 30, 2022, the Company issued &lt;span id="xdx_906_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220401__20220630__srt--TitleOfIndividualAxis__srt--DirectorMember_z333wLAJhigl" title="Stock issued for services , shares"&gt;10,668&lt;/span&gt;
shares of common stock for payment of board fees to four directors in the amount of $&lt;span id="xdx_901_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_pp0p0_c20220401__20220630__srt--TitleOfIndividualAxis__srt--DirectorMember_z8H7O1EnIsp" title="Stock issued for services, value"&gt;40,000&lt;/span&gt;
at $&lt;span id="xdx_90C_eus-gaap--SaleOfStockPricePerShare_iI_c20230630__srt--TitleOfIndividualAxis__srt--DirectorMember_zDGoEy5pQ7X1" title="Services per share"&gt;3.75&lt;/span&gt; per share for services to the board which was expensed during the three months ended June 30, 2022.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On August 25, 2022, &lt;span id="xdx_903_ecustom--ConvertedToCommonStockShares_c20220824__20220825_zuME2Rfo4sgj" title="Converted to common stock shares"&gt;121,572&lt;/span&gt; common shares were issued
upon conversion of &lt;span id="xdx_90D_ecustom--ConvertedToCommonStockShares_c20220824__20220825__us-gaap--StatementClassOfStockAxis__custom--ConvertibleSeriesBPreferredStockMember_zF3IPcsJFe2l" title="Converted to common stock shares"&gt;851&lt;/span&gt; shares of Series B Preferred Stock.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On September 30, 2022, the Company issued &lt;span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20220701__20220930__srt--TitleOfIndividualAxis__srt--DirectorMember_z3G87PQ9aZu2" title="Stock issued for services , shares"&gt;9,758&lt;/span&gt; shares
of common stock for payment of board fees to four directors in the amount of $&lt;span id="xdx_909_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20220701__20220930__srt--TitleOfIndividualAxis__srt--DirectorMember_z4z6E3rQ2Nih" title="Stock issued for services , value"&gt;40,000&lt;/span&gt;, or $4.09 per share based on the daily trading price,
for services to the board which was expensed during the three months ended September 30, 2022.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On September 30, 2022, we sold to certain existing
investors in the Company in a private placement &lt;span id="xdx_907_eus-gaap--PartnersCapitalAccountUnitsSoldInPrivatePlacement_c20220701__20220930__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zFioAmfFEr5l" title="Private placement sold"&gt;818,335&lt;/span&gt; shares of common stock at a price of $&lt;span id="xdx_90B_eus-gaap--SaleOfStockPricePerShare_iI_c20220930__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zg4BaPd3Tv2d" title="Share price"&gt;3.00&lt;/span&gt; a share and &lt;span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesOther_c20220701__20220930__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zt9an4Aozmbc" title="Number of shares issued"&gt;999&lt;/span&gt; shares of Series D
Preferred Stock at a price of $&lt;span id="xdx_901_eus-gaap--SharePrice_iI_c20220930__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z6BzLuKqB458" title="Share price"&gt;1,000&lt;/span&gt; a share, resulting in the gross amount raised of $&lt;span id="xdx_902_eus-gaap--ProceedsFromIssuanceOfPrivatePlacement_c20220701__20220930__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zJM95FzjpzTb" title="Gross proceeds private placement"&gt;3,454,003&lt;/span&gt; and we accrued estimated offering costs
of $&lt;span id="xdx_906_ecustom--AccruedOfferingCosts_iI_c20220930_zzcn28BogP07" title="Accrued offering costs"&gt;260,816&lt;/span&gt; as of September 30, 2022. Subsequently, we adjusted the estimated offering costs to the actual amount of $&lt;span id="xdx_903_eus-gaap--DeferredOfferingCosts_iI_c20220930_zqk0KYbe5nNf" title="Offering costs"&gt;257,240&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On October 29, 2022, we sold to an existing investor
in the Company and two accredited investors in a private placement &lt;span id="xdx_90E_eus-gaap--PartnersCapitalAccountUnitsSoldInPrivatePlacement_c20221028__20221029__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zD8K46FKV4Qi" title="Private placement sold"&gt;83,667&lt;/span&gt; shares of common stock at a price of $&lt;span id="xdx_901_eus-gaap--SaleOfStockPricePerShare_iI_c20221029__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember_zPMP8vYBwFw9" title="Share price"&gt;3.00&lt;/span&gt; a share and &lt;span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesOther_c20221028__20221029__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z6XAROULBKc" title="Number of shares issued"&gt;300&lt;/span&gt; shares
of Series D Preferred Stock at a price of $&lt;span id="xdx_901_eus-gaap--SharePrice_iI_c20221029__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_zsllYWmh7mX" title="Share price"&gt;1,000&lt;/span&gt; a share, resulting in the gross amount raised of $&lt;span id="xdx_905_eus-gaap--ProceedsFromIssuanceOfPrivatePlacement_c20221028__20221029__us-gaap--StatementClassOfStockAxis__us-gaap--SeriesDPreferredStockMember_z1Xh0SmTtbt6" title="Gross proceeds private placement"&gt;551,001&lt;/span&gt;, including gross proceeds of
$251,001 for common stock and $300,000 for Series D Preferred Stock, and recorded offering costs of $&lt;span id="xdx_90B_eus-gaap--DeferredOfferingCosts_iI_c20221029_z3VEDc5cVKX3" title="Offering costs"&gt;105,460&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On December 30, 2022, the Company issued &lt;span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20231001__20231231__srt--TitleOfIndividualAxis__srt--DirectorMember_zpHYTpk6Vc46" title="Stock issued for services , shares"&gt;16,335&lt;/span&gt;
shares of common stock for payment of board fees to four directors in the amount of $&lt;span id="xdx_908_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20231001__20231231__srt--TitleOfIndividualAxis__srt--DirectorMember_zdgofJF6FhA4" title="Stock issued for services , value"&gt;37,500&lt;/span&gt;
at $&lt;span id="xdx_901_eus-gaap--SaleOfStockPricePerShare_iI_c20231231__srt--TitleOfIndividualAxis__srt--DirectorMember_zysfTzbHftKc" title="Services per share"&gt;2.30&lt;/span&gt; per share for services to the board which was expensed during the three months ended December 31, 2022.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Employee Stock Purchase Plan&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In the fourth quarter of 2022, the board of
directors adopted an Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;) which, was effective as of January 1, 2023 with a term of &lt;span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20231001__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zvnVGgPpJCs9" title="Plan, term"&gt;10&lt;/span&gt;
years. &lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription_c20231001__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_zMZUDFr34Ru5" title="Plan, description"&gt;The ESPP allows eligible employees to purchase shares of the Company's common stock at a discounted price, through payroll
deductions from a minimum of 1% and up to 25% of their eligible compensation up to a maximum of $25,000 or the IRS allowable limit
per calendar year.&lt;/span&gt; The Company&#x2019;s Chief Financial Officer administers the ESPP in conjunction with approvals from the
Company&#x2019;s Compensation Committee, including with respect to the frequency and duration of offering periods, the maximum number
of shares that an eligible employee may purchase during an offering period, and, subject to certain limitations set forth in the
ESPP, the per-share purchase price. Currently, the maximum number of shares that can be purchased by an eligible employee under the
ESPP is 10,000 shares per offering period and there are two six-month offering periods that begin in the first and third quarters of
each fiscal year. The purchase price for one share of Common Stock under the ESPP is currently equal to 85% of the fair market value
of one share of Common Stock on the first trading day of the offering period or the purchase date, whichever is lower (look-back
feature). Although not required by the ESPP, all payroll deductions received or held by the Company under the ESPP are segregated
and deemed as &#x201c;restricted cash&#x201d; until the completion of the offering period and redemption of the applicable shares and
those withheld amounts are recorded as liabilities. The maximum aggregate number of shares of the Common Stock that may be issued
under the ESPP is &lt;span id="xdx_906_eus-gaap--CommonStockCapitalSharesReservedForFutureIssuance_iI_c20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_z1MlV7jNxLBj" title="Maximum aggregate number of shares of common stock"&gt;1,000,000&lt;/span&gt; shares.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Under ASC 718-50 &#x201c;Employee Share
Purchase Plans&#x201d; the plan is considered a compensatory plan and the compensation for each six-month offering period is computed
based upon the grant date fair value of the estimated shares to be purchased based on the estimated payroll deduction withholdings.
The grant date fair value was computed as the sum of (a) 15% purchase discount off of the grant date quoted trading price of the
Company&#x2019;s common stock and (b) the fair value of the look-back feature of the Company&#x2019;s common stock on the grant date
which consists of a call option on 85% of a share of common stock and a put option on 15% of a share of common stock.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In the year ended December
31, 2023, the Company issued &lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c20230101__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember_z2tnGwSTZcI5" title="Issued shares"&gt;111,538&lt;/span&gt;
shares of common stock related to two transactions. For the six months ended June 30, 2023, the employee contributions for the first
ESPP tranche totaled $&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_pp0p0_c20230101__20230630__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zGUIMeNNwuJe" title="Employee contributions"&gt;117,048&lt;/span&gt;
and represented a purchase price of $&lt;span id="xdx_900_eus-gaap--SharePrice_iI_c20230630__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zbQsclzi5jz7" title="Share price"&gt;1.79&lt;/span&gt;
per share for &lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c20230101__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zOrqkIMhBcKa" title="Issued shares"&gt;65,561&lt;/span&gt;
shares. For the six-month period beginning July 1, 2023 and ending December 31, 2023 the employee contributions for the second ESPP
tranche totaled $&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost_pp0p0_c20230701__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zOWo8cuAqdF9" title="Employee contributions"&gt;113,352&lt;/span&gt;
and represented a purchase price of $&lt;span id="xdx_907_eus-gaap--SharePrice_iI_c20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zjfxHuCPmll2" title="Share price"&gt;2.47&lt;/span&gt;
per share for &lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c20230701__20231231__us-gaap--PlanNameAxis__custom--EmployeeStockPurchasePlanMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zbwmKlqTptWd" title="Issued shares"&gt;45,977&lt;/span&gt;
shares.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Stock-based compensation expense recognized
under ASC 718-10 for the years ended December 31, 2023 and 2022, was $&lt;span id="xdx_906_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_zcqVUUcm1tP" title="Stock-based compensation expense"&gt;573,441&lt;/span&gt;
and $&lt;span id="xdx_907_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20221231__srt--TitleOfIndividualAxis__custom--EmployeesAndDirectorsMember_z8TfVKr7NaFi" title="Stock-based compensation expense"&gt;819,191&lt;/span&gt;,
respectively, for stock options granted to employees and directors. This expense is included in selling general and administrative
expenses in the consolidated statements of operations. Stock-based compensation expense recognized during the periods is based on
the grant date fair value of the portion of share-based payment awards that is ultimately expected to vest during the period. At
December 31, 2023, the total compensation cost for stock options that was not yet recognized was $&lt;span id="xdx_909_ecustom--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2_pp0p0_c20231231_zFCpZH4x1F12" title="Total compensation cost for stock options"&gt;580,572&lt;/span&gt;.
This cost will be recognized over the remaining vesting term of the options ranging from &lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dtM_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zxRAYzZ7uq9a" title="Vesting term"&gt;12&lt;/span&gt; months to &lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dtY_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zC932whmAEE7" title="Vesting term"&gt;2.0&lt;/span&gt;
years.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Treasury Stock&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In August 2016, the Company&#x2019;s Board of
Directors approved a new class of Preferred Stock, &#x201c;Series A&#x201d;. For shareholders who invested in previous private placements,
the Company was offering on a case-by-case basis, the ability to convert the existing amount invested into an equivalent amount in the
Series A on the condition that they invest an equivalent additional amount in the Series A. In December of 2017, the Company redeemed
all of the Series A and continues to hold &lt;span id="xdx_90F_eus-gaap--TreasuryStockCommonShares_c20171231_pdd" title="Treasury stock shares"&gt;235&lt;/span&gt; shares purchased for $&lt;span id="xdx_90D_eus-gaap--TreasuryStockCommonValue_c20171231_pp0p0" title="Treasury stock"&gt;148,000&lt;/span&gt; as a part of the original transaction. In December 2018, the
Company entered into an agreement with two shareholders to purchase shares from them at fair market value. The Company purchased &lt;span id="xdx_90D_eus-gaap--PaymentsForRepurchaseOfCommonStock_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_pp0p0" title="Repurchase of common stock"&gt;84&lt;/span&gt; shares
at $&lt;span id="xdx_909_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_pdd" title="Market value of stock repurchased"&gt;7.00&lt;/span&gt; per shares and &lt;span id="xdx_904_eus-gaap--PaymentsForRepurchaseOfCommonStock_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_pp0p0" title="Repurchase of common stock"&gt;140&lt;/span&gt; shares at $&lt;span id="xdx_903_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20180101__20181231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_pdd" title="Market value of stock repurchased"&gt;6.30&lt;/span&gt; per share. In 2019, the Company entered into an agreement with two shareholders to purchase
shares from them at fair market value. The Company purchased &lt;span id="xdx_90F_eus-gaap--PaymentsForRepurchaseOfCommonStock_pp0p0_c20230101__20231231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_zrTgHVX9dF8h" title="Repurchase of common stock"&gt;115&lt;/span&gt; shares at $&lt;span id="xdx_902_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20230101__20231231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersOneMember_zH6OQYUj22ve" title="Market value of stock repurchased"&gt;10.08&lt;/span&gt; per share and &lt;span id="xdx_90C_eus-gaap--PaymentsForRepurchaseOfCommonStock_pp0p0_c20220101__20221231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_z4EnCUMRbXf8" title="Repurchase of common stock"&gt;753&lt;/span&gt; shares at $&lt;span id="xdx_907_eus-gaap--AcceleratedShareRepurchasesFinalPricePaidPerShare_c20220101__20221231__us-gaap--RelatedPartyTransactionAxis__custom--ShareholdersTwoMember_zG3w3wTt40C4" title="Market value of stock repurchased"&gt;9.09&lt;/span&gt; per share. Accordingly,
as of December 31, 2023, and 2022, the Company held &lt;span id="xdx_90A_eus-gaap--TreasuryStockCommonShares_iI_c20231231_zp5AbZu1JNQ" title="Treasury stock shares"&gt;&lt;span id="xdx_902_eus-gaap--TreasuryStockCommonShares_iI_c20221231_zGGE5tyqaxL9" title="Treasury stock shares"&gt;1,324&lt;/span&gt;&lt;/span&gt; shares of Common at an aggregate value of $&lt;span id="xdx_90F_eus-gaap--TreasuryStockCommonValue_iI_pp0p0_c20231231_zl7tiwSYW53f" title="Treasury stock"&gt;&lt;span id="xdx_909_eus-gaap--TreasuryStockCommonValue_pp0p0_c20221231_zOsLiyGtsWz8" title="Treasury stock"&gt;157,452&lt;/span&gt;&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="From2021-05-112021-05-12_custom_TwoThousandTwentyOneEquityIncentivePlanMember"
      decimals="INF"
      id="Fact001569"
      unitRef="Shares">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001571"
      unitRef="Shares">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001576">not
exceed 10 years</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward>
    <us-gaap:CommonStockVotingRights
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001578">more
than 10% of the total combined voting power of all classes of capital stock</us-gaap:CommonStockVotingRights>
    <duot:AggregateFairMarketValueOfOurCommonStockNotExceed
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001580"
      unitRef="USD">100000</duot:AggregateFairMarketValueOfOurCommonStockNotExceed>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact001585"
      unitRef="Shares">15000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001587"
      unitRef="Shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact001589"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="From2023-01-012023-12-31_custom_SeriesBConvertiblePreferredStockMember"
      decimals="0"
      id="Fact001591"
      unitRef="USD">1000</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="AsOf2023-12-31_custom_SeriesBConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001593"
      unitRef="USDPShares">7.00</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact001595"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact001597"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact001599"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact001601"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact001602"
      unitRef="Shares">5000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact001603"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockVotingRights
      contextRef="From2023-01-012023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      id="Fact001604">Each
share of Series C Convertible Preferred Stock had 172 votes (subject to adjustment); provided that in no event may a holder of Series
C Convertible Preferred Stock be entitled to vote a number of shares in excess of such holder&#x2019;s Beneficial Ownership Limitation
(as defined in the Certificate of Designation and as described below). Each share of Series C Convertible Preferred Stock was convertible,
at any time and from time to time, at the option of the holder, into that number of shares of common stock (subject to the Beneficial
Ownership Limitation) determined by dividing the stated value of such share ($1,000) by the conversion price, which is $5.50 (subject
to adjustment). The Company shall not effect any conversion of the Series C Convertible Preferred Stock, and a holder shall not have
the right to convert any portion of the Series C Convertible Preferred Stock, to the extent that after giving effect to the conversion
sought by the holder such holder (together with such holder&#x2019;s Attribution Parties (as defined in the Certificate of Designation))
would beneficially own more than 4.99% (or upon election by a holder, 19.99%) of the number of shares of common stock outstanding immediately
after giving effect to the issuance of shares of common stock issuable upon such conversion (the &#x201c;Beneficial Ownership Limitation&#x201d;).
All holders of the Series C Preferred Stock elected the 19.99% Beneficial Ownership Limitation.</us-gaap:PreferredStockVotingRights>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2021-02-252021-02-26_custom_PurchaseAgreementMember"
      decimals="0"
      id="Fact001605"
      unitRef="USD">4500000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <duot:SeriesCPreferredConvertedToCommonStockShares
      contextRef="From2022-01-012022-01-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact001607"
      unitRef="Shares">454546</duot:SeriesCPreferredConvertedToCommonStockShares>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact001609"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact001611"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact001613"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact001615"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001620"
      unitRef="Shares">4000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2022-09-28_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001622"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockVotingRights
      contextRef="From2023-01-012023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      id="Fact001624">Each
share of Series D Convertible Preferred Stock has 333 votes</us-gaap:PreferredStockVotingRights>
    <us-gaap:PreferredStockConvertibleConversionPrice
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001626"
      unitRef="USDPShares">3.00</us-gaap:PreferredStockConvertibleConversionPrice>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-09-30_custom_PurchaseAgreementMember_custom_SeriesDConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001628"
      unitRef="Shares">999</us-gaap:PreferredStockSharesIssued>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2022-07-012022-09-30_custom_SeriesDConvertiblePreferredStockMember_custom_PurchaseAgreementMember"
      decimals="0"
      id="Fact001630"
      unitRef="USD">999000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-10-29_custom_SeriesDConvertiblePreferredStockMember_us-gaap_PrivatePlacementMember"
      decimals="INF"
      id="Fact001632"
      unitRef="Shares">300</us-gaap:PreferredStockSharesIssued>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2022-10-282022-10-29_custom_SeriesDConvertiblePreferredStockMember_us-gaap_PrivatePlacementMember"
      decimals="0"
      id="Fact001634"
      unitRef="USD">300000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001636"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001638"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001640"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001642"
      unitRef="Shares">1299</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001643"
      unitRef="Shares">30000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001644"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockVotingRights
      contextRef="From2023-01-012023-12-31_custom_ConvertibleSeriesEPreferredStockMember"
      id="Fact001645">Each share of Series E Preferred Stock has 333 votes</us-gaap:PreferredStockVotingRights>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001651"
      unitRef="Shares">4000</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-03-27_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001653"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2023-03-262023-03-27_custom_SeriesEConvertiblePreferredStockMember_custom_PurchaseAgreementMember"
      decimals="0"
      id="Fact001655"
      unitRef="USD">4000000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <duot:SeriesEPreferredConvertiblePreferredStockShares
      contextRef="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001657"
      unitRef="Shares">2500</duot:SeriesEPreferredConvertiblePreferredStockShares>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-11-09_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001659"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2023-11-082023-11-09_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="0"
      id="Fact001661"
      unitRef="USD">2500000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-11-09_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001663"
      unitRef="Shares">5000</us-gaap:SharesIssued>
    <us-gaap:SharePrice
      contextRef="AsOf2023-11-09_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001665"
      unitRef="USDPShares">1000</us-gaap:SharePrice>
    <us-gaap:SharesIssuedPricePerShare
      contextRef="AsOf2023-11-09_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001667"
      unitRef="USDPShares">3.00</us-gaap:SharesIssuedPricePerShare>
    <duot:StockExchangeShares
      contextRef="AsOf2023-11-09_custom_SeriesFConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001669"
      unitRef="Shares">5000</duot:StockExchangeShares>
    <us-gaap:SharesIssuedPricePerShare
      contextRef="AsOf2023-11-09_custom_SeriesFConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001671"
      unitRef="USDPShares">6.20</us-gaap:SharesIssuedPricePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001673"
      unitRef="USDPShares">6.20</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001675"
      unitRef="Shares">5000</us-gaap:SharesIssued>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesEPreferredStockMember"
      decimals="INF"
      id="Fact001677"
      unitRef="Shares">7500</us-gaap:SharesIssued>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-11-10_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001679"
      unitRef="Shares">5000</us-gaap:SharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001681"
      unitRef="Shares">11500</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001683"
      unitRef="Shares">11500</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001685"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001687"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <duot:SeriesFPreferredConvertiblePreferredStockShares
      contextRef="From2023-07-302023-08-02"
      decimals="INF"
      id="Fact001689"
      unitRef="Shares">5000</duot:SeriesFPreferredConvertiblePreferredStockShares>
    <us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock
      contextRef="From2023-07-302023-08-02"
      decimals="0"
      id="Fact001691"
      unitRef="USD">5000000</us-gaap:ProceedsFromIssuanceOfConvertiblePreferredStock>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001693"
      unitRef="Shares">5000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001695"
      unitRef="USDPShares">1000</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockConvertibleConversionPrice
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001697"
      unitRef="USDPShares">6.20</us-gaap:PreferredStockConvertibleConversionPrice>
    <us-gaap:PreferredStockVotingRights
      contextRef="From2023-01-012023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      id="Fact001699">Each share of Series F Preferred Stock had 161 votes</us-gaap:PreferredStockVotingRights>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-11-10_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001701"
      unitRef="Shares">2500</us-gaap:SharesIssued>
    <us-gaap:PreferredStockConvertibleConversionPrice
      contextRef="AsOf2023-11-10_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001703"
      unitRef="USDPShares">3.00</us-gaap:PreferredStockConvertibleConversionPrice>
    <duot:StockExchangeShares
      contextRef="AsOf2023-11-10_custom_SeriesFConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001705"
      unitRef="Shares">5000</duot:StockExchangeShares>
    <duot:StockExchangeShares
      contextRef="AsOf2023-11-10_custom_SeriesEConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001707"
      unitRef="Shares">5000</duot:StockExchangeShares>
    <us-gaap:CapitalUnitsOutstanding
      contextRef="AsOf2023-11-10_custom_SeriesFConvertiblePreferredStockMember"
      decimals="INF"
      id="Fact001709"
      unitRef="Shares">0</us-gaap:CapitalUnitsOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001711"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001713"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001715"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2022-12-31_custom_ConvertibleSeriesFPreferredStockMember"
      decimals="INF"
      id="Fact001717"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001722"
      unitRef="Shares">12463</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact001724"
      unitRef="USD">32500</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased
      contextRef="AsOf2023-03-31_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001726"
      unitRef="USDPShares">2.61</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-04-012023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001728"
      unitRef="Shares">5645</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-04-012023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact001730"
      unitRef="USD">32500</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased
      contextRef="AsOf2023-06-30_custom_ThreeDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001732"
      unitRef="USDPShares">5.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-01-012023-06-30_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001734"
      unitRef="Shares">65561</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:EmployeeStockOwnershipPlanESOPCashContributionsToESOP
      contextRef="From2023-01-012023-06-30_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001736"
      unitRef="USD">117048</us-gaap:EmployeeStockOwnershipPlanESOPCashContributionsToESOP>
    <us-gaap:SharePrice
      contextRef="AsOf2023-06-30_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001738"
      unitRef="USDPShares">1.79</us-gaap:SharePrice>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-06-30_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001740"
      unitRef="USD">66217</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-07-012023-09-30_custom_FourDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001742"
      unitRef="Shares">7910</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-07-012023-09-30_custom_FourDirectorsMember_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact001744"
      unitRef="USD">40565</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased
      contextRef="AsOf2023-09-29_custom_FourDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001746"
      unitRef="USDPShares">5.13</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:AccruedLiabilitiesCurrentAndNoncurrent
      contextRef="AsOf2023-09-30_custom_ESPPMember"
      decimals="0"
      id="Fact001748"
      unitRef="USD">72801</us-gaap:AccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-10-012023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001750"
      unitRef="Shares">12231</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-10-012023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact001752"
      unitRef="USD">37500</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased
      contextRef="AsOf2023-12-31_custom_FourDirectorsMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact001754"
      unitRef="USDPShares">3.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-07-012023-12-29_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001756"
      unitRef="Shares">45977</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:EmployeeStockOwnershipPlanESOPCashContributionsToESOP
      contextRef="From2023-07-012023-12-29_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001758"
      unitRef="USD">113352</us-gaap:EmployeeStockOwnershipPlanESOPCashContributionsToESOP>
    <us-gaap:SharePrice
      contextRef="AsOf2023-12-29_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001760"
      unitRef="USDPShares">2.47</us-gaap:SharePrice>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-07-012023-12-29_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001762"
      unitRef="USD">70434</us-gaap:AllocatedShareBasedCompensationExpense>
    <duot:ConversionOfStockSharesIssued
      contextRef="From2022-01-102022-01-11"
      decimals="INF"
      id="Fact001764"
      unitRef="Shares">710</duot:ConversionOfStockSharesIssued>
    <duot:ConversionOfStockSharesIssued
      contextRef="From2022-01-102022-01-11_custom_ConvertibleSeriesCPreferredStockMember"
      decimals="INF"
      id="Fact001766"
      unitRef="Shares">1790</duot:ConversionOfStockSharesIssued>
    <us-gaap:CommonStockConvertibleConversionPriceIncrease
      contextRef="From2022-01-102022-01-11"
      decimals="INF"
      id="Fact001768"
      unitRef="USDPShares">5.50</us-gaap:CommonStockConvertibleConversionPriceIncrease>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2022-02-022022-02-03"
      decimals="INF"
      id="Fact001770"
      unitRef="Shares">1325000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-02-022022-02-03"
      decimals="0"
      id="Fact001772"
      unitRef="USD">5300000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:SharePrice
      contextRef="AsOf2022-02-03"
      decimals="INF"
      id="Fact001774"
      unitRef="USDPShares">4</us-gaap:SharePrice>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="From2022-02-022022-02-03"
      decimals="0"
      id="Fact001776"
      unitRef="USD">4779000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2022-02-202022-02-21"
      decimals="INF"
      id="Fact001778"
      unitRef="Shares">198750</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2022-02-202022-02-21"
      decimals="0"
      id="Fact001780"
      unitRef="USD">795000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:SharePrice
      contextRef="AsOf2022-02-21"
      decimals="INF"
      id="Fact001782"
      unitRef="USDPShares">4</us-gaap:SharePrice>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="From2022-02-202022-02-21"
      decimals="0"
      id="Fact001784"
      unitRef="USD">739350</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:CommonStockIssuedEmployeeTrustDeferred
      contextRef="AsOf2022-02-21"
      decimals="0"
      id="Fact001786"
      unitRef="USD">50000000</us-gaap:CommonStockIssuedEmployeeTrustDeferred>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2022-01-012022-03-31_srt_DirectorMember"
      decimals="INF"
      id="Fact001788"
      unitRef="Shares">7198</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-01-012022-03-31_srt_DirectorMember"
      decimals="0"
      id="Fact001790"
      unitRef="USD">40000</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2023-03-31_srt_DirectorMember"
      decimals="INF"
      id="Fact001792"
      unitRef="USDPShares">5.56</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2022-04-012022-06-30_srt_DirectorMember"
      decimals="INF"
      id="Fact001794"
      unitRef="Shares">10668</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-04-012022-06-30_srt_DirectorMember"
      decimals="0"
      id="Fact001796"
      unitRef="USD">40000</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2023-06-30_srt_DirectorMember"
      decimals="INF"
      id="Fact001798"
      unitRef="USDPShares">3.75</us-gaap:SaleOfStockPricePerShare>
    <duot:ConvertedToCommonStockShares
      contextRef="From2022-08-242022-08-25"
      decimals="INF"
      id="Fact001800"
      unitRef="Shares">121572</duot:ConvertedToCommonStockShares>
    <duot:ConvertedToCommonStockShares
      contextRef="From2022-08-242022-08-25_custom_ConvertibleSeriesBPreferredStockMember"
      decimals="INF"
      id="Fact001802"
      unitRef="Shares">851</duot:ConvertedToCommonStockShares>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2022-07-012022-09-30_srt_DirectorMember"
      decimals="INF"
      id="Fact001804"
      unitRef="Shares">9758</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2022-07-012022-09-30_srt_DirectorMember"
      decimals="0"
      id="Fact001806"
      unitRef="USD">40000</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:PartnersCapitalAccountUnitsSoldInPrivatePlacement
      contextRef="From2022-07-012022-09-30_us-gaap_PrivatePlacementMember"
      decimals="INF"
      id="Fact001808"
      unitRef="Shares">818335</us-gaap:PartnersCapitalAccountUnitsSoldInPrivatePlacement>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2022-09-30_us-gaap_PrivatePlacementMember"
      decimals="INF"
      id="Fact001810"
      unitRef="USDPShares">3.00</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:StockIssuedDuringPeriodSharesOther
      contextRef="From2022-07-012022-09-30_us-gaap_SeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001812"
      unitRef="Shares">999</us-gaap:StockIssuedDuringPeriodSharesOther>
    <us-gaap:SharePrice
      contextRef="AsOf2022-09-30_us-gaap_SeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001814"
      unitRef="USDPShares">1000</us-gaap:SharePrice>
    <us-gaap:ProceedsFromIssuanceOfPrivatePlacement
      contextRef="From2022-07-012022-09-30_us-gaap_SeriesDPreferredStockMember"
      decimals="0"
      id="Fact001816"
      unitRef="USD">3454003</us-gaap:ProceedsFromIssuanceOfPrivatePlacement>
    <duot:AccruedOfferingCosts
      contextRef="AsOf2022-09-30"
      decimals="0"
      id="Fact001818"
      unitRef="USD">260816</duot:AccruedOfferingCosts>
    <us-gaap:DeferredOfferingCosts
      contextRef="AsOf2022-09-30"
      decimals="0"
      id="Fact001820"
      unitRef="USD">257240</us-gaap:DeferredOfferingCosts>
    <us-gaap:PartnersCapitalAccountUnitsSoldInPrivatePlacement
      contextRef="From2022-10-282022-10-29_us-gaap_PrivatePlacementMember"
      decimals="INF"
      id="Fact001822"
      unitRef="Shares">83667</us-gaap:PartnersCapitalAccountUnitsSoldInPrivatePlacement>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2022-10-29_us-gaap_PrivatePlacementMember"
      decimals="INF"
      id="Fact001824"
      unitRef="USDPShares">3.00</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:StockIssuedDuringPeriodSharesOther
      contextRef="From2022-10-282022-10-29_us-gaap_SeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001826"
      unitRef="Shares">300</us-gaap:StockIssuedDuringPeriodSharesOther>
    <us-gaap:SharePrice
      contextRef="AsOf2022-10-29_us-gaap_SeriesDPreferredStockMember"
      decimals="INF"
      id="Fact001828"
      unitRef="USDPShares">1000</us-gaap:SharePrice>
    <us-gaap:ProceedsFromIssuanceOfPrivatePlacement
      contextRef="From2022-10-282022-10-29_us-gaap_SeriesDPreferredStockMember"
      decimals="0"
      id="Fact001830"
      unitRef="USD">551001</us-gaap:ProceedsFromIssuanceOfPrivatePlacement>
    <us-gaap:DeferredOfferingCosts
      contextRef="AsOf2022-10-29"
      decimals="0"
      id="Fact001832"
      unitRef="USD">105460</us-gaap:DeferredOfferingCosts>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-10-012023-12-31_srt_DirectorMember"
      decimals="INF"
      id="Fact001834"
      unitRef="Shares">16335</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-10-012023-12-31_srt_DirectorMember"
      decimals="0"
      id="Fact001836"
      unitRef="USD">37500</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2023-12-31_srt_DirectorMember"
      decimals="INF"
      id="Fact001838"
      unitRef="USDPShares">2.30</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="From2023-10-012023-12-31_custom_EmployeeStockPurchasePlanMember"
      id="Fact001843">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription
      contextRef="From2023-10-012023-12-31_custom_EmployeeStockPurchasePlanMember"
      id="Fact001845">The ESPP allows eligible employees to purchase shares of the Company's common stock at a discounted price, through payroll
deductions from a minimum of 1% and up to 25% of their eligible compensation up to a maximum of $25,000 or the IRS allowable limit
per calendar year.</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="AsOf2023-12-31_custom_EmployeeStockPurchasePlanMember"
      decimals="INF"
      id="Fact001847"
      unitRef="Shares">1000000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="From2023-01-012023-12-31_custom_EmployeeStockPurchasePlanMember"
      decimals="INF"
      id="Fact001849"
      unitRef="Shares">111538</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost
      contextRef="From2023-01-012023-06-30_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember"
      decimals="0"
      id="Fact001851"
      unitRef="USD">117048</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost>
    <us-gaap:SharePrice
      contextRef="AsOf2023-06-30_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember"
      decimals="INF"
      id="Fact001853"
      unitRef="USDPShares">1.79</us-gaap:SharePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="From2023-01-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember"
      decimals="INF"
      id="Fact001855"
      unitRef="Shares">65561</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost
      contextRef="From2023-07-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember"
      decimals="0"
      id="Fact001857"
      unitRef="USD">113352</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost>
    <us-gaap:SharePrice
      contextRef="AsOf2023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember"
      decimals="INF"
      id="Fact001859"
      unitRef="USDPShares">2.47</us-gaap:SharePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="From2023-07-012023-12-31_custom_EmployeeStockPurchasePlanMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember"
      decimals="INF"
      id="Fact001861"
      unitRef="Shares">45977</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-12-31_custom_EmployeesAndDirectorsMember"
      decimals="0"
      id="Fact001863"
      unitRef="USD">573441</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-12-31_custom_EmployeesAndDirectorsMember"
      decimals="0"
      id="Fact001865"
      unitRef="USD">819191</us-gaap:AllocatedShareBasedCompensationExpense>
    <duot:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001867"
      unitRef="USD">580572</duot:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriod2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="From2023-01-012023-12-31_srt_MinimumMember"
      id="Fact001869">P12M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="From2023-01-012023-12-31_srt_MaximumMember"
      id="Fact001871">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2017-12-31"
      decimals="INF"
      id="Fact001873"
      unitRef="Shares">235</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="AsOf2017-12-31"
      decimals="0"
      id="Fact001875"
      unitRef="USD">148000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="From2018-01-012018-12-31_custom_ShareholdersOneMember"
      decimals="0"
      id="Fact001877"
      unitRef="USD">84</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare
      contextRef="From2018-01-012018-12-31_custom_ShareholdersOneMember"
      decimals="INF"
      id="Fact001879"
      unitRef="USDPShares">7.00</us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="From2018-01-012018-12-31_custom_ShareholdersTwoMember"
      decimals="0"
      id="Fact001881"
      unitRef="USD">140</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare
      contextRef="From2018-01-012018-12-31_custom_ShareholdersTwoMember"
      decimals="INF"
      id="Fact001883"
      unitRef="USDPShares">6.30</us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="From2023-01-012023-12-31_custom_ShareholdersOneMember"
      decimals="0"
      id="Fact001885"
      unitRef="USD">115</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare
      contextRef="From2023-01-012023-12-31_custom_ShareholdersOneMember"
      decimals="INF"
      id="Fact001887"
      unitRef="USDPShares">10.08</us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="From2022-01-012022-12-31_custom_ShareholdersTwoMember"
      decimals="0"
      id="Fact001889"
      unitRef="USD">753</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare
      contextRef="From2022-01-012022-12-31_custom_ShareholdersTwoMember"
      decimals="INF"
      id="Fact001891"
      unitRef="USDPShares">9.09</us-gaap:AcceleratedShareRepurchasesFinalPricePaidPerShare>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001893"
      unitRef="Shares">1324</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact001895"
      unitRef="Shares">1324</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001897"
      unitRef="USD">157452</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001899"
      unitRef="USD">157452</us-gaap:TreasuryStockCommonValue>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001901">&lt;p id="xdx_80B_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zIR0Hc9HnJa6" style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 13 &#x2013; &lt;span id="xdx_824_zYSptAOBIwF6"&gt;COMMON STOCK OPTIONS AND WARRANTS&lt;/span&gt;
&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Options&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;During the second quarter of 2023, the
Company&#x2019;s Board of Directors granted &lt;span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230401__20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zrrFay42lzFk" title="Options granted"&gt;293,117&lt;/span&gt;
new stock options and in the fourth quarter granted a further &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20231001__20231231__srt--TitleOfIndividualAxis__srt--ManagementMember_zUl23Adz8s76" title="Stock option granted"&gt;170,000&lt;/span&gt;
new stock options both with a strike price of $&lt;span id="xdx_904_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zUQfzY0Vl6rj" title="Strike price"&gt;&lt;span id="xdx_90F_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20231231__srt--TitleOfIndividualAxis__srt--ManagementMember_zcqhxY5sViz1" title="Strike price"&gt;4.22&lt;/span&gt;&lt;/span&gt;
per share to 19 key employees and one contract employee. These options were awarded as a one-time award as a retention incentive and
have a fair value of approximately $&lt;span id="xdx_907_eus-gaap--StockOptionPlanExpense_pp0p0_c20230330__20230402__srt--TitleOfIndividualAxis__srt--ManagementMember_z4KBvqMC3LDd" title="Stock option plan expense"&gt;556,000&lt;/span&gt;
for the April 1, 2023 awards and approximately $&lt;span id="xdx_903_eus-gaap--StockOptionPlanExpense_c20231129__20231201__srt--TitleOfIndividualAxis__srt--ManagementMember_zA00w4h0tYp5" title="Stock option plan expense"&gt;172,000&lt;/span&gt;
for the December 1, 2023 award and carry a three-year vesting period. The issuance of these options generated stock option
compensation expense in the year in the amount of $&lt;span id="xdx_90C_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20230401__20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zgOpnNn87B7" title="Stock-based compensation expense"&gt;269,611&lt;/span&gt;
and a balance of unamortized stock option compensation expense of $&lt;span id="xdx_90C_eus-gaap--UnamortizedDebtIssuanceExpense_iI_pp0p0_c20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zgQlKDHRJmQ9" title="Unamortized expense"&gt;458,389&lt;/span&gt;,
that is being expensed over the following &lt;span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20230401__20230630__srt--TitleOfIndividualAxis__srt--ManagementMember_zmMatGxYuAQk" title="Total compensation cost for stock options not yet recognized, period"&gt;2.0&lt;/span&gt;
years.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;During the first quarter of 2023, two former staff
members forfeited &lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_c20230101__20230331__us-gaap--AwardTypeAxis__custom--OptionsMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--FormerStaffMember_zVPwgyEj1g3l" title="Non-qualified stock options, forfeited"&gt;1,608&lt;/span&gt; non-qualified stock options as the options expired.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;During the first quarter of 2022, the Company&#x2019;s
Board of Directors granted &lt;span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_zPX07jsnnGm8" title="Options granted"&gt;665,000&lt;/span&gt; new stock options and in the third quarter granted a further &lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220701__20220930__srt--TitleOfIndividualAxis__srt--ManagementMember_zuAEPa1EaLu4" title="Stock option granted"&gt;20,000&lt;/span&gt; new stock options both with a strike
price of $&lt;span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_zwNeZm1goHU4" title="Strike price"&gt;&lt;span id="xdx_905_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iI_c20220930__srt--TitleOfIndividualAxis__srt--ManagementMember_zZhDxkz1Vsr" title="Strike price"&gt;6.41&lt;/span&gt;&lt;/span&gt; per share to 16 key employees. These options were awarded as a one-time award as a retention incentive and have a fair
value of $&lt;span id="xdx_902_eus-gaap--StockOptionPlanExpense_pp0p0_c20211228__20220102__srt--TitleOfIndividualAxis__srt--ManagementMember_zQdDZH2I8Ms1" title="Stock option plan expense"&gt;1,596,804&lt;/span&gt; for the January 1, 2022 awards and $&lt;span id="xdx_90F_eus-gaap--StockOptionPlanExpense_c20220701__20220702__srt--TitleOfIndividualAxis__srt--ManagementMember_zIbAL6i9DK57" title="Stock option plan expense"&gt;33,096&lt;/span&gt; for the July 1, 2022 award and carry a three-year vesting period. The issuance
of these options generated stock option compensation expense in the year in the amount of $&lt;span id="xdx_903_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_z5zIlIVHNzCd" title="Stock-based compensation expense"&gt;819,191&lt;/span&gt; and a balance of unamortized stock
option compensation expense of $&lt;span id="xdx_903_eus-gaap--UnamortizedDebtIssuanceExpense_iI_pp0p0_c20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_znxhgYYPLjWb" title="Unamortized expense"&gt;458,389&lt;/span&gt;, that is being expensed over the following &lt;span id="xdx_903_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20220101__20220331__srt--TitleOfIndividualAxis__srt--ManagementMember_z7G0Q3BdUYdh" title="Total compensation cost for stock options not yet recognized, period"&gt;2.0 &lt;/span&gt;years.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;During the second quarter of 2022, three former staff
members forfeited &lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_c20220401__20220630__us-gaap--AwardTypeAxis__custom--OptionsMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--FormerStaffMember_zoo7tlTG5qIh" title="Non-qualified stock options, forfeited"&gt;110,000&lt;/span&gt; non-qualified stock options. Additionally, during the third quarter of 2022, two employees forfeited &lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_c20220701__20220930__us-gaap--AwardTypeAxis__custom--OptionsMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--TwoEmployeesMember_zWeWsK4OYe9i" title="Non-qualified stock options, forfeited"&gt;80,000&lt;/span&gt;
non-qualified stock options.&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;











&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;During the third quarter of 2021, the shareholders
approved the issuance of up to one million shares or share equivalents in the form of stock options for the purposes of share issuance
for compensation to Board Members and grants to certain staff members for recruiting and retention. On August 5,  2021, the Company filed
an S-8 registration statement in concert with the 2021 Equity Incentive Plan. The plan covers a period of ten years.&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zwN3W4My0nSc" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B0_zJYezsyfR1oc" style="display: none"&gt;Schedule of options activity&lt;/span&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Weighted&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Weighted&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Average&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Average&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Remaining&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Aggregate&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Exercise&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Contractual&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Intrinsic&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Price&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Term (Years)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Value&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 44%; text-align: justify"&gt;Outstanding at December 31, 2021&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTfbtaKxVCci" style="width: 11%; text-align: right; line-height: 106%" title="Shares outstanding at beginning"&gt;&lt;span style="line-height: 106%"&gt;431,266&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmPPGJ4lJfu7" style="width: 11%; text-align: right" title="Weighted average exercise price outstanding at beginning"&gt;4.98&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 11%; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRvR6tCckBXg" title="Weighted average remaining contractual term (years) outstanding"&gt;3.4&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z2LKXtu4Txm" style="width: 11%; text-align: right" title="Aggregate intrinsic value outstanding at beginning"&gt;197,506&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Granted&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z0w0n9RwQnT4" style="text-align: right; line-height: 106%" title="Shares, granted"&gt;&lt;span style="line-height: 106%"&gt;685,000&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zbIkw5dc5gx9" style="text-align: right; line-height: 106%" title="Weighted average exercise price, granted"&gt;&lt;span style="line-height: 106%"&gt;6.41&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right; line-height: 106%"&gt;&lt;span style="line-height: 106%"&gt;&lt;span id="xdx_909_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNyzMeQ0JQlh" title="Weighted average remaining contractual term (years), granted"&gt;4.0&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Forfeited&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOOlPJ1ajV6i" style="border-bottom: Black 1pt solid; text-align: right" title="Shares, forfeited"&gt;(190,000&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;)&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZiSUJAJxXUj" style="text-align: right" title="Weighted average exercise price, forfeited"&gt;6.41&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Outstanding at December 31, 2022&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrwFgqYaNp74" style="border-bottom: black 2.25pt double; text-align: right; line-height: 106%" title="Shares outstanding at end"&gt;&lt;span style="line-height: 106%"&gt;926,266&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSHnI68d2iw3" style="text-align: right; line-height: 106%" title="Weighted average exercise price outstanding at end"&gt;&lt;span style="line-height: 106%"&gt;5.74&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOJxnkysXrlk" title="Weighted average remaining contractual term (years) outstanding"&gt;3.3&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrURwmBZwC0d" style="text-align: right; line-height: 106%" title="Aggregate intrinsic value outstanding at end"&gt;&lt;span style="line-height: 106%"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1974"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Exercisable at December 31, 2022&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAKZvcscc7le" style="border-bottom: black 2.25pt double; text-align: right" title="Shares, exercisable"&gt;404,599&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zcWVEtMqHpqf" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price, exercisable"&gt;5.02&lt;/td&gt;
    &lt;td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right; line-height: 106%"&gt;&lt;span style="line-height: 106%"&gt;&lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6iOGi5qxk9" title="Weighted average remaining contractual term (years) exercisable"&gt;3.3&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd7hFGG3t8g6" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value exercisable"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1982"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Outstanding at December 31, 2022&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoElHYuLr7N4" style="text-align: right; line-height: 106%" title="Shares outstanding at beginning"&gt;&lt;span style="line-height: 106%"&gt;926,266&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zv2Y4RcqmZR9" style="text-align: right; line-height: 106%" title="Weighted average exercise price outstanding at beginning"&gt;&lt;span style="line-height: 106%"&gt;5.74&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right; line-height: 106%"&gt;&lt;span style="line-height: 106%"&gt;&lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zb2AYLBlA0wa" title="Weighted average remaining contractual term (years) outstanding"&gt;3.3&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXbiN4RC05F6" style="text-align: right" title="Aggregate intrinsic value outstanding at beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1990"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Granted&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zLzohRUS0WCl" style="text-align: right" title="Shares, granted"&gt;463,117&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgb4vZjXHdYk" style="text-align: right" title="Weighted average exercise price, granted"&gt;4.22&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmgQ05cAoVV1" title="Weighted average remaining contractual term (years), granted"&gt;4.35&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Exercised/Forfeited&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z6OGsV1kKqd9" style="text-align: right" title="Shares, exercised/forfeited"&gt;(1,608&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;)&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z8AZRaotLy89" style="text-align: right" title="Weighted average exercise price, exercised/forfeited"&gt;14.00&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Outstanding at December 31, 2023&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTvCX0Gc70l" style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: right" title="Shares outstanding at end"&gt;1,387,775&lt;/td&gt;
    &lt;td style="border-top: white 1pt solid; border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVhYXNj7UIo6" style="border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price outstanding at end"&gt;5.23&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgC26Tluhwhb" title="Weighted average remaining contractual term (years) outstanding"&gt;3.0&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6mNdDXqd88" style="border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2008"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Exercisable at December 31, 2023&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z9F3TwdN80Jg" style="border-bottom: black 2.25pt double; text-align: right" title="Shares, exercisable"&gt;581,324&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zqWzhYUFrup3" style="border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price, exercisable"&gt;5.38&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrc6JJMfTNE6" title="Weighted average remaining contractual term (years) exercisable"&gt;1.8&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zyK363aAbl68" style="border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value exercisable"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2016"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The fair value of the incentive stock option grants
for the years ended December 31, 2023 and 2022 were estimated using the following weighted- average assumptions:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_883_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zArARYAEdFn2" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B5_zf50c5AuorL8" style="display: none"&gt;Schedule of weighted- average assumptions&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;For the Years Ended&lt;br/&gt; December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Risk free interest rate&lt;/td&gt;&lt;td&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfQIjymb0d91" title="Risk free interest rate"&gt;&lt;/span&gt;  &lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7VtVQCVXL0i" title="Risk free interest rate"&gt;3.73&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zB5aGaMyhr2j" title="Risk free interest rate"&gt;0.97%&lt;/span&gt; &#x2013; &lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z72CCp0HlrU9" title="Risk free interest rate"&gt;3.15&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 66%; text-align: justify"&gt;Expected term in years&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: center"&gt;&lt;span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z27pu6zDTDtj" title="Expected term in years"&gt;3.50&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7ca4ibQiTle" title="Expected term in years"&gt;3.25&lt;/span&gt; &#x2013; &lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPgMXGYdzGj" title="Expected term in years"&gt;3.50&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Dividend yield&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zaNcpF9zvqFj" title="Dividend yield"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2034"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJLNiGFzi3Jk" title="Dividend yield"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2036"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Volatility of common stock&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeL5eaUEDvgf" title="Volatility of common stock"&gt;54%&lt;/span&gt;
                                              &#x2013;&lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIImQQlq3Q98" title="Volatility of common stock"&gt;118&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYY3QqUoFyib" title="Volatility of common stock"&gt;72% &lt;/span&gt;
                                              &#x2013; &lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zwQDQE0ZhEIg" title="Volatility of common stock"&gt;80&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Weighted average grant date fair value per option&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPmNmd9o6A3" title="Weighted average grant date fair value per option"&gt;$1.57&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;$&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zio6m7Uz5Zt3" title="Weighted average grant date fair value per option"&gt;2.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt/11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;span style="text-decoration: underline"&gt;Warrants&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;During the first and fourth quarters of 2023, warrants
held by 48 holders representing &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember__srt--CounterpartyNameAxis__custom--FourtyEightWarrantsHoldersMember_z845fJpxeKj5" title="Shares expired"&gt;&lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20231001__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember__srt--CounterpartyNameAxis__custom--FourtyEightWarrantsHoldersMember_zVRm7RiHsZ3f" title="Shares expired"&gt;102,947&lt;/span&gt;&lt;/span&gt; shares expired. All of the expired warrants can no longer be exercised.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;During the fourth quarter of 2022, warrants held by
63 holders representing &lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20221001__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember__srt--CounterpartyNameAxis__custom--SixtyThreeWarrantsHoldersMember_zvFi1xHcVWvg" title="Shares expired"&gt;1,228,875&lt;/span&gt; shares expired. All of the expired warrants can no longer be exercised.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;













&lt;table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zrDJOfIE3kf9" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8BA_zqhVsRlA3Ke6" style="display: none"&gt;Schedule of warrants outstanding&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Weighted&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Weighted&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Average&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Average&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Remaining&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Aggregate&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Number of&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Exercise&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Contractual&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Intrinsic&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Warrants&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Price&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Term (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%"&gt;Outstanding at December 31, 2021&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z0w7IJh2Z1Ta" style="width: 10%; text-align: right" title="Number of warrants outstanding at beginning"&gt;1,376,466&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zyWhQtdYV6ff" style="width: 10%; text-align: right" title="Weighted average exercise price outstanding at beginning"&gt;8.18&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_907_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgvQhpBoilL6" title="Weighted average remaining contractual term (years)"&gt;1.9&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zz1PNRbJfCb4" style="width: 10%; text-align: right" title="Aggregate intrinsic value outstanding at beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2068"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Warrants expired, forfeited, cancelled or exercised&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGBnjOMy9kOj" style="text-align: right" title="Warrants expired, forfeited, cancelled or exercised"&gt;(1,228,875&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98D_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zrxsoQXCuxK1" style="text-align: right" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2072"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Warrants issued&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ConversionOfStockSharesIssued1_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE5GxMtNTOak" style="border-bottom: Black 1pt solid; text-align: right" title="Warrants issued"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2074"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zooOWGpf031g" style="text-align: right" title="Weighted average exercise price, warrants issued"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2076"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zPLHttcTUO4l" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants outstanding at end"&gt;80,091&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJq6xNuAjY5" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price outstanding at end"&gt;8.63&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zLageLx4pVbe" title="Weighted average remaining contractual term (years)"&gt;0.98&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztYCmgq5Rdk8" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2084"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Exercisable at December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE1yezitepmb" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants, exercisable"&gt;80,091&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuxCYHqR0Lpl" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price, exercisable"&gt;8.63&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1VhWjaJAswb" title="Weighted average remaining contractual term (years), exercisable"&gt;0.8&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztw17ZNw1ZN5" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value, exercisable"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2092"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zoD9mxQQG092" style="text-align: right" title="Number of warrants outstanding at beginning"&gt;80,091&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zdP7bab84vKj" style="text-align: right" title="Weighted average exercise price outstanding at beginning"&gt;8.63&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZDEU4SQOHQ1" title="Weighted average remaining contractual term (years), exercisable"&gt;0.8&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zX88U59TjoM3" style="text-align: right" title="Aggregate intrinsic value outstanding at beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2100"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Warrants expired, forfeited, cancelled or exercised&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zi6U7g1KdNQg" style="text-align: right" title="Warrants expired, forfeited, cancelled or exercised"&gt;(102,947&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbbGTlG2NdUd" style="text-align: right" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2104"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Warrants issued&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ConversionOfStockSharesIssued1_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zQfRULFz1Ahi" style="border-bottom: Black 1pt solid; text-align: right" title="Warrants issued"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2106"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk1q3q81qcSd" style="text-align: right" title="Weighted average exercise price, warrants issued"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2108"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU5bYtgTjwv8" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants outstanding at end"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRxIac0uaDt8" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price outstanding at end"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU2CK6g1GW79" title="Weighted average remaining contractual term (years)"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zceK5biiFXWb" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2116"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Exercisable at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8di5qjrSmW9" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants, exercisable"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zKNRnJdIjmF7" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price, exercisable"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zlNsmaY2iB05" title="Weighted average remaining contractual term (years), exercisable"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRMPUZUaS91b" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value, exercisable"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2124"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-04-012023-06-30_srt_ManagementMember"
      decimals="INF"
      id="Fact001903"
      unitRef="Shares">293117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-10-012023-12-31_srt_ManagementMember"
      decimals="INF"
      id="Fact001905"
      unitRef="Shares">170000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="AsOf2023-06-30_srt_ManagementMember"
      decimals="INF"
      id="Fact001907"
      unitRef="USDPShares">4.22</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="AsOf2023-12-31_srt_ManagementMember"
      decimals="INF"
      id="Fact001909"
      unitRef="USDPShares">4.22</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2023-03-302023-04-02_srt_ManagementMember"
      decimals="0"
      id="Fact001911"
      unitRef="USD">556000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2023-11-292023-12-01_srt_ManagementMember"
      decimals="0"
      id="Fact001913"
      unitRef="USD">172000</us-gaap:StockOptionPlanExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-04-012023-06-30_srt_ManagementMember"
      decimals="0"
      id="Fact001915"
      unitRef="USD">269611</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="AsOf2023-06-30_srt_ManagementMember"
      decimals="0"
      id="Fact001917"
      unitRef="USD">458389</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="From2023-04-012023-06-30_srt_ManagementMember"
      id="Fact001919">P2Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="From2023-01-012023-03-31_custom_OptionsMember_custom_FormerStaffMember"
      decimals="INF"
      id="Fact001921"
      unitRef="Shares">1608</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-01-012022-03-31_srt_ManagementMember"
      decimals="INF"
      id="Fact001923"
      unitRef="Shares">665000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-07-012022-09-30_srt_ManagementMember"
      decimals="INF"
      id="Fact001925"
      unitRef="Shares">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="AsOf2022-03-31_srt_ManagementMember"
      decimals="INF"
      id="Fact001927"
      unitRef="USDPShares">6.41</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="AsOf2022-09-30_srt_ManagementMember"
      decimals="INF"
      id="Fact001929"
      unitRef="USDPShares">6.41</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2021-12-282022-01-02_srt_ManagementMember"
      decimals="0"
      id="Fact001931"
      unitRef="USD">1596804</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2022-07-012022-07-02_srt_ManagementMember"
      decimals="0"
      id="Fact001933"
      unitRef="USD">33096</us-gaap:StockOptionPlanExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-03-31_srt_ManagementMember"
      decimals="0"
      id="Fact001935"
      unitRef="USD">819191</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="AsOf2022-03-31_srt_ManagementMember"
      decimals="0"
      id="Fact001937"
      unitRef="USD">458389</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="From2022-01-012022-03-31_srt_ManagementMember"
      id="Fact001939">P2Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="From2022-04-012022-06-30_custom_OptionsMember_custom_FormerStaffMember"
      decimals="INF"
      id="Fact001941"
      unitRef="Shares">110000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="From2022-07-012022-09-30_custom_OptionsMember_custom_TwoEmployeesMember"
      decimals="INF"
      id="Fact001943"
      unitRef="Shares">80000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact001948">&lt;table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zwN3W4My0nSc" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Options activity)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B0_zJYezsyfR1oc" style="display: none"&gt;Schedule of options activity&lt;/span&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Weighted&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Weighted&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Average&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Average&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Remaining&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Aggregate&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Exercise&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Contractual&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Intrinsic&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Shares&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Price&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Term (Years)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-size: 8pt"&gt;&lt;b&gt;Value&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 44%; text-align: justify"&gt;Outstanding at December 31, 2021&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTfbtaKxVCci" style="width: 11%; text-align: right; line-height: 106%" title="Shares outstanding at beginning"&gt;&lt;span style="line-height: 106%"&gt;431,266&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmPPGJ4lJfu7" style="width: 11%; text-align: right" title="Weighted average exercise price outstanding at beginning"&gt;4.98&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 11%; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zRvR6tCckBXg" title="Weighted average remaining contractual term (years) outstanding"&gt;3.4&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z2LKXtu4Txm" style="width: 11%; text-align: right" title="Aggregate intrinsic value outstanding at beginning"&gt;197,506&lt;/td&gt;
    &lt;td style="width: 1%; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Granted&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z0w0n9RwQnT4" style="text-align: right; line-height: 106%" title="Shares, granted"&gt;&lt;span style="line-height: 106%"&gt;685,000&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zbIkw5dc5gx9" style="text-align: right; line-height: 106%" title="Weighted average exercise price, granted"&gt;&lt;span style="line-height: 106%"&gt;6.41&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right; line-height: 106%"&gt;&lt;span style="line-height: 106%"&gt;&lt;span id="xdx_909_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zNyzMeQ0JQlh" title="Weighted average remaining contractual term (years), granted"&gt;4.0&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Forfeited&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_iN_di_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOOlPJ1ajV6i" style="border-bottom: Black 1pt solid; text-align: right" title="Shares, forfeited"&gt;(190,000&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;)&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZiSUJAJxXUj" style="text-align: right" title="Weighted average exercise price, forfeited"&gt;6.41&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Outstanding at December 31, 2022&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrwFgqYaNp74" style="border-bottom: black 2.25pt double; text-align: right; line-height: 106%" title="Shares outstanding at end"&gt;&lt;span style="line-height: 106%"&gt;926,266&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zSHnI68d2iw3" style="text-align: right; line-height: 106%" title="Weighted average exercise price outstanding at end"&gt;&lt;span style="line-height: 106%"&gt;5.74&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zOJxnkysXrlk" title="Weighted average remaining contractual term (years) outstanding"&gt;3.3&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrURwmBZwC0d" style="text-align: right; line-height: 106%" title="Aggregate intrinsic value outstanding at end"&gt;&lt;span style="line-height: 106%"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1974"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Exercisable at December 31, 2022&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAKZvcscc7le" style="border-bottom: black 2.25pt double; text-align: right" title="Shares, exercisable"&gt;404,599&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zcWVEtMqHpqf" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price, exercisable"&gt;5.02&lt;/td&gt;
    &lt;td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right; line-height: 106%"&gt;&lt;span style="line-height: 106%"&gt;&lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6iOGi5qxk9" title="Weighted average remaining contractual term (years) exercisable"&gt;3.3&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zd7hFGG3t8g6" style="border-top: black 2.25pt double; border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value exercisable"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1982"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: white 2.25pt double; border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Outstanding at December 31, 2022&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zoElHYuLr7N4" style="text-align: right; line-height: 106%" title="Shares outstanding at beginning"&gt;&lt;span style="line-height: 106%"&gt;926,266&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zv2Y4RcqmZR9" style="text-align: right; line-height: 106%" title="Weighted average exercise price outstanding at beginning"&gt;&lt;span style="line-height: 106%"&gt;5.74&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right; line-height: 106%"&gt;&lt;span style="line-height: 106%"&gt;&lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zb2AYLBlA0wa" title="Weighted average remaining contractual term (years) outstanding"&gt;3.3&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zXbiN4RC05F6" style="text-align: right" title="Aggregate intrinsic value outstanding at beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1990"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Granted&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zLzohRUS0WCl" style="text-align: right" title="Shares, granted"&gt;463,117&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgb4vZjXHdYk" style="text-align: right" title="Weighted average exercise price, granted"&gt;4.22&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span id="xdx_90D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zmgQ05cAoVV1" title="Weighted average remaining contractual term (years), granted"&gt;4.35&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Exercised/Forfeited&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_di_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z6OGsV1kKqd9" style="text-align: right" title="Shares, exercised/forfeited"&gt;(1,608&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;)&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z8AZRaotLy89" style="text-align: right" title="Weighted average exercise price, exercised/forfeited"&gt;14.00&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Outstanding at December 31, 2023&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zTvCX0Gc70l" style="border-top: black 1pt solid; border-bottom: black 2.25pt double; text-align: right" title="Shares outstanding at end"&gt;1,387,775&lt;/td&gt;
    &lt;td style="border-top: white 1pt solid; border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zVhYXNj7UIo6" style="border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price outstanding at end"&gt;5.23&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zgC26Tluhwhb" title="Weighted average remaining contractual term (years) outstanding"&gt;3.0&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zc6mNdDXqd88" style="border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2008"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Exercisable at December 31, 2023&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z9F3TwdN80Jg" style="border-bottom: black 2.25pt double; text-align: right" title="Shares, exercisable"&gt;581,324&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zqWzhYUFrup3" style="border-bottom: black 2.25pt double; text-align: right" title="Weighted average exercise price, exercisable"&gt;5.38&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zrc6JJMfTNE6" title="Weighted average remaining contractual term (years) exercisable"&gt;1.8&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zyK363aAbl68" style="border-bottom: black 2.25pt double; text-align: right" title="Aggregate intrinsic value exercisable"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2016"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: white 2.25pt double; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2021-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001950"
      unitRef="Shares">431266</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001952"
      unitRef="USDPShares">4.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2021-01-012021-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001954">P3Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2021-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      id="Fact001956"
      unitRef="USD">197506</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001958"
      unitRef="Shares">685000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001960"
      unitRef="USDPShares">6.41</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001962">P4Y</duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001964"
      unitRef="Shares">190000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001966"
      unitRef="USDPShares">6.41</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001968"
      unitRef="Shares">926266</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001970"
      unitRef="USDPShares">5.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001972">P3Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001976"
      unitRef="Shares">404599</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001978"
      unitRef="USDPShares">5.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001980">P3Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001984"
      unitRef="Shares">926266</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001986"
      unitRef="USDPShares">5.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      id="Fact001988">P3Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      decimals="INF"
      id="Fact001992"
      unitRef="Shares">463117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      decimals="INF"
      id="Fact001994"
      unitRef="USDPShares">4.22</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      id="Fact001996">P4Y4M6D</duot:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      decimals="INF"
      id="Fact001998"
      unitRef="Shares">1608</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      decimals="INF"
      id="Fact002000"
      unitRef="USDPShares">14.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002002"
      unitRef="Shares">1387775</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002004"
      unitRef="USDPShares">5.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      id="Fact002006">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002010"
      unitRef="Shares">581324</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002012"
      unitRef="USDPShares">5.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      id="Fact002014">P1Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact002018">&lt;table cellpadding="0" cellspacing="0" id="xdx_883_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zArARYAEdFn2" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Fair value assumptions)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8B5_zf50c5AuorL8" style="display: none"&gt;Schedule of weighted- average assumptions&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;For the Years Ended&lt;br/&gt; December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Risk free interest rate&lt;/td&gt;&lt;td&gt;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zfQIjymb0d91" title="Risk free interest rate"&gt;&lt;/span&gt;  &lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7VtVQCVXL0i" title="Risk free interest rate"&gt;3.73&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zB5aGaMyhr2j" title="Risk free interest rate"&gt;0.97%&lt;/span&gt; &#x2013; &lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z72CCp0HlrU9" title="Risk free interest rate"&gt;3.15&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 66%; text-align: justify"&gt;Expected term in years&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: center"&gt;&lt;span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z27pu6zDTDtj" title="Expected term in years"&gt;3.50&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_z7ca4ibQiTle" title="Expected term in years"&gt;3.25&lt;/span&gt; &#x2013; &lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPgMXGYdzGj" title="Expected term in years"&gt;3.50&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Dividend yield&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zaNcpF9zvqFj" title="Dividend yield"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2034"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zJLNiGFzi3Jk" title="Dividend yield"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2036"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Volatility of common stock&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zeL5eaUEDvgf" title="Volatility of common stock"&gt;54%&lt;/span&gt;
                                              &#x2013;&lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20230101__20231231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zIImQQlq3Q98" title="Volatility of common stock"&gt;118&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="line-height: 105%"&gt;&lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MinimumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zYY3QqUoFyib" title="Volatility of common stock"&gt;72% &lt;/span&gt;
                                              &#x2013; &lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_c20220101__20221231__srt--RangeAxis__srt--MaximumMember__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zwQDQE0ZhEIg" title="Volatility of common stock"&gt;80&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Weighted average grant date fair value per option&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zjPmNmd9o6A3" title="Weighted average grant date fair value per option"&gt;$1.57&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;$&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20220101__20221231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zio6m7Uz5Zt3" title="Weighted average grant date fair value per option"&gt;2.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2023-01-012023-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002022"
      unitRef="Pure">0.0373</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2022-01-012022-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002024"
      unitRef="Pure">0.0097</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2022-01-012022-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002026"
      unitRef="Pure">0.0315</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      id="Fact002028">P3Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="From2022-01-012022-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember"
      id="Fact002030">P3Y3M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="From2022-01-012022-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember"
      id="Fact002032">P3Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2023-01-012023-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002038"
      unitRef="Pure">0.54</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2023-01-012023-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002040"
      unitRef="Pure">1.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2022-01-012022-12-31_srt_MinimumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002042"
      unitRef="Pure">0.72</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2022-01-012022-12-31_srt_MaximumMember_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002044"
      unitRef="Pure">0.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember5630265"
      decimals="INF"
      id="Fact002046"
      unitRef="USDPShares">1.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2022-01-012022-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact002048"
      unitRef="USDPShares">2.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2023-01-012023-03-31_us-gaap_WarrantMember_custom_FourtyEightWarrantsHoldersMember"
      decimals="INF"
      id="Fact002050"
      unitRef="Shares">102947</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2023-10-012023-12-31_us-gaap_WarrantMember_custom_FourtyEightWarrantsHoldersMember"
      decimals="INF"
      id="Fact002052"
      unitRef="Shares">102947</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2022-10-012022-12-31_us-gaap_WarrantMember_custom_SixtyThreeWarrantsHoldersMember"
      decimals="INF"
      id="Fact002054"
      unitRef="Shares">1228875</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact002060">&lt;table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zrDJOfIE3kf9" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - COMMON STOCK OPTIONS AND WARRANTS (Details - Activity of warrants)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span id="xdx_8BA_zqhVsRlA3Ke6" style="display: none"&gt;Schedule of warrants outstanding&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Weighted&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Weighted&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Average&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Average&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Remaining&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Aggregate&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Number of&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Exercise&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Contractual&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-size: 8pt; font-weight: bold; text-align: center"&gt;Intrinsic&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Warrants&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Price&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Term (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 8pt; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold; text-align: center"&gt;Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 8pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%"&gt;Outstanding at December 31, 2021&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z0w7IJh2Z1Ta" style="width: 10%; text-align: right" title="Number of warrants outstanding at beginning"&gt;1,376,466&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zyWhQtdYV6ff" style="width: 10%; text-align: right" title="Weighted average exercise price outstanding at beginning"&gt;8.18&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;span id="xdx_907_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zgvQhpBoilL6" title="Weighted average remaining contractual term (years)"&gt;1.9&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zz1PNRbJfCb4" style="width: 10%; text-align: right" title="Aggregate intrinsic value outstanding at beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2068"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Warrants expired, forfeited, cancelled or exercised&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zGBnjOMy9kOj" style="text-align: right" title="Warrants expired, forfeited, cancelled or exercised"&gt;(1,228,875&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&#160;&lt;/td&gt;&lt;td id="xdx_98D_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zrxsoQXCuxK1" style="text-align: right" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2072"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Warrants issued&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ConversionOfStockSharesIssued1_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE5GxMtNTOak" style="border-bottom: Black 1pt solid; text-align: right" title="Warrants issued"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2074"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zooOWGpf031g" style="text-align: right" title="Weighted average exercise price, warrants issued"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2076"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zPLHttcTUO4l" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants outstanding at end"&gt;80,091&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuJq6xNuAjY5" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price outstanding at end"&gt;8.63&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zLageLx4pVbe" title="Weighted average remaining contractual term (years)"&gt;0.98&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztYCmgq5Rdk8" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2084"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Exercisable at December 31, 2022&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zE1yezitepmb" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants, exercisable"&gt;80,091&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zuxCYHqR0Lpl" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price, exercisable"&gt;8.63&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1VhWjaJAswb" title="Weighted average remaining contractual term (years), exercisable"&gt;0.8&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_ztw17ZNw1ZN5" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value, exercisable"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2092"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Outstanding at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ClassOfWarrantOrRightOutstanding_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zoD9mxQQG092" style="text-align: right" title="Number of warrants outstanding at beginning"&gt;80,091&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iS_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zdP7bab84vKj" style="text-align: right" title="Weighted average exercise price outstanding at beginning"&gt;8.63&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20221231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zZDEU4SQOHQ1" title="Weighted average remaining contractual term (years), exercisable"&gt;0.8&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iS_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zX88U59TjoM3" style="text-align: right" title="Aggregate intrinsic value outstanding at beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2100"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Warrants expired, forfeited, cancelled or exercised&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--WarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zi6U7g1KdNQg" style="text-align: right" title="Warrants expired, forfeited, cancelled or exercised"&gt;(102,947&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_ecustom--WeightedAverageExercisePriceWarrantsExpiredForfeitedCancelledOrExercised_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zbbGTlG2NdUd" style="text-align: right" title="Weighted average exercise price, warrants expired, forfeited, cancelled or exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2104"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Warrants issued&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ConversionOfStockSharesIssued1_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zQfRULFz1Ahi" style="border-bottom: Black 1pt solid; text-align: right" title="Warrants issued"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2106"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_ecustom--WarrantsExchangedForCommonStockWeightedAverageExercisePrice_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zk1q3q81qcSd" style="text-align: right" title="Weighted average exercise price, warrants issued"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2108"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#x2014;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Outstanding at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ClassOfWarrantOrRightOutstanding_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU5bYtgTjwv8" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants outstanding at end"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_iE_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRxIac0uaDt8" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price outstanding at end"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zU2CK6g1GW79" title="Weighted average remaining contractual term (years)"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iE_pp0p0_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zceK5biiFXWb" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value outstanding at end"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2116"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Exercisable at December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z8di5qjrSmW9" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of warrants, exercisable"&gt;44,644&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iI_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zKNRnJdIjmF7" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted average exercise price, exercisable"&gt;7.70&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zlNsmaY2iB05" title="Weighted average remaining contractual term (years), exercisable"&gt;0.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_iI_pp0p0_c20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zRMPUZUaS91b" style="border-bottom: Black 2.5pt double; text-align: right" title="Aggregate intrinsic value, exercisable"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl2124"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2021-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002062"
      unitRef="Shares">1376466</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="AsOf2021-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002064"
      unitRef="USDPShares">8.18</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2021-01-012021-12-31_us-gaap_WarrantMember"
      id="Fact002066">P1Y10M24D</duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2>
    <duot:WarrantsExpiredForfeitedCancelledOrExercised
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002070"
      unitRef="Shares">-1228875</duot:WarrantsExpiredForfeitedCancelledOrExercised>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002078"
      unitRef="Shares">80091</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002080"
      unitRef="USDPShares">8.63</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      id="Fact002082">P0Y11M23D</duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002086"
      unitRef="Shares">80091</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002088"
      unitRef="USDPShares">8.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      id="Fact002090">P0Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002094"
      unitRef="Shares">80091</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="AsOf2022-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002096"
      unitRef="USDPShares">8.63</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2022-01-012022-12-31_us-gaap_WarrantMember"
      id="Fact002098">P0Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <duot:WarrantsExpiredForfeitedCancelledOrExercised
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002102"
      unitRef="Shares">-102947</duot:WarrantsExpiredForfeitedCancelledOrExercised>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002110"
      unitRef="Shares">44644</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002112"
      unitRef="USDPShares">7.70</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      id="Fact002114">P0Y8M12D</duot:SharebasedCompensationArrangementBySharebasedPaymentAwardWarrantsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002118"
      unitRef="Shares">44644</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_WarrantMember"
      decimals="INF"
      id="Fact002120"
      unitRef="USDPShares">7.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="From2023-01-012023-12-31_us-gaap_WarrantMember"
      id="Fact002122">P0Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:DefinedContributionPlanTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact002126">&lt;p id="xdx_807_eus-gaap--DefinedContributionPlanTextBlock_zZLmYXqVh35j" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 14 &#x2013; &lt;span id="xdx_826_zH3MnlZczFYh"&gt;DEFINED CONTRIBUTION PLAN&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has a 401(k)-retirement savings plan (the
&#x201c;401(k) Plan&#x201d;) covering all eligible employees. The 401(k) Plan allows employees to defer a portion of their annual compensation,
and the Company may match a portion of the employees&#x2019; contributions generally after the first six months of service. During the
year ended December 31, 2023, the Company matched 100% of the first 4% of eligible employee compensation that was contributed to the 401(k)
Plan. For the year ended December 31, 2023, the Company recognized expense for matching cash contributions to the 401(k) Plan totaling
$&lt;span id="xdx_900_eus-gaap--DefinedBenefitPlanServiceCost_pp0p0_c20230101__20231231_zE0JXynrA5ok" title="Cash contributions"&gt;216,332&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;

</us-gaap:DefinedContributionPlanTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact002128"
      unitRef="USD">216332</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact002130">&lt;p id="xdx_80B_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_z5ttNb4WFlL7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 15 &#x2013; &lt;span id="xdx_821_zCqxUkgGTY1g"&gt;RELATED PARTY TRANSACTIONS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;There were no related party transactions for the periods reflected
in this report.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <duot:SaleOfAssetsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact002132">&lt;p id="xdx_802_ecustom--SaleOfAssetsTextBlock_zIlJofpMBlE6" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 16 &#x2013;&lt;span id="xdx_820_zYf1bbu5cf3f"&gt; SALE OF ASSETS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;On June 29, 2023, the Company completed a transaction
whereby it sold assets related to its Integrated Correctional Automation System (iCAS) business with a single customer. In the fourth
quarter of 2022, the Company elected to not renew a support contract due to the limited nature of the business. The transaction was completed
with a third-party buyer of which the Company&#x2019;s former Chief Financial Officer is a director. Said former officer did not participate
in the transaction on behalf of the Company.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The assets of the iCAS business were sold for a convertible
promissory note with a principal amount of $&lt;span id="xdx_902_ecustom--PrincipalAmount_pp0p0_c20230101__20231231_zBqGUGu7xKJ" title="Principal amount"&gt;165,000&lt;/span&gt; with a &lt;span id="xdx_908_ecustom--OriginalIssueDiscount_dp_c20230101__20231231_ziWQXXycKUYd" title="Original issue discount"&gt;10&lt;/span&gt;% original issue discount as well as common stock purchase warrants. The
note matures in 2 years from the date of sale and is convertible immediately through the later of the maturity date or payment by the
borrower of the default amount, as defined in the note, into shares of the buyer&#x2019;s common stock at a conversion price of $&lt;span id="xdx_904_eus-gaap--DebtInstrumentConvertibleConversionPrice1_iI_c20231231_zkDHJfK13ud5" title="Conversion price"&gt;0.003&lt;/span&gt;
or &lt;span id="xdx_90E_eus-gaap--CommonStockDividendsShares_c20230101__20231231_zefD6ZZq1yv8" title="Common stock shares"&gt;55,000,000&lt;/span&gt; shares. The conversion of the note carries restrictions which include limiting conversion to the extent it would exceed
4.99% of the common stock outstanding of the buyer. The convertible promissory note is subject to standard anti-dilution provisions.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The common stock purchase warrants are for a total
of &lt;span id="xdx_90B_ecustom--PurchaseOfCommonStockWarrants_c20230101__20231231_zGdocj3J9eU6" title="Purchase of common stock warrants"&gt;55,000,000&lt;/span&gt; common shares of the buyer at an exercise price of $&lt;span id="xdx_904_eus-gaap--WarrantExercisePriceIncrease_c20230101__20231231_zu111FVXO6i9" title="Exercise price"&gt;0.01&lt;/span&gt; per share. The warrants are subject to standard anti-dilution provisions.
The warrants are not exercisable until on or after six months from the issuance date and no later than on or before the third anniversary
of the issuance date. The Company may exercise the warrants at any time after the six-month anniversary of the issuance date on a cashless
basis if there is no effective registration statement covering the resale of the Warrant Shares at prevailing market prices by the holder.
The exercise of these warrants is subject to beneficial ownership limits of 4.99% which may be increased by the holder up to 9.99% as
defined in the warrant . Given that the shares carried no intrinsic value at the time of the transaction and that the overall fair value
is de minimis, the Company has not recorded the warrants associated with the transaction.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company recognized a gain on sale of assets of
$&lt;span id="xdx_904_eus-gaap--GainLossOnSalesOfAssetsAndAssetImpairmentCharges_pp0p0_c20230101__20231231_zDR98WJDMok8" title="Sale of asset"&gt;150,000&lt;/span&gt;, which is included in other income.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The original issue discount is being accrued into
interest income over the term of the note.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;









&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;









&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The note receivable was recorded as follows on September
30, 2023:&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--ScheduleOfNoteReceivableTableTextBlock_zAJcwLsMQZsh" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SALE OF ASSETS (Details)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td id="xdx_8BB_zKS748qY8aY5" style="display: none"&gt;Schedule of note receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20231231_zn1A6yCmHzpa" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_z7TIb7JSRz3d" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: justify"&gt;Convertible note receivable&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"&gt;165,000&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zcMkXkrSJENc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt"&gt;Unamortized discount&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;(11,250&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zRaNDSi1BTli" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt"&gt;Convertible note receivable, net&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;153,750&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;



</duot:SaleOfAssetsTextBlock>
    <duot:PrincipalAmount
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact002134"
      unitRef="USD">165000</duot:PrincipalAmount>
    <duot:OriginalIssueDiscount
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact002136"
      unitRef="Pure">0.10</duot:OriginalIssueDiscount>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact002138"
      unitRef="USDPShares">0.003</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:CommonStockDividendsShares
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact002140"
      unitRef="Shares">55000000</us-gaap:CommonStockDividendsShares>
    <duot:PurchaseOfCommonStockWarrants
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact002142"
      unitRef="Shares">55000000</duot:PurchaseOfCommonStockWarrants>
    <us-gaap:WarrantExercisePriceIncrease
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="Fact002144"
      unitRef="USDPShares">0.01</us-gaap:WarrantExercisePriceIncrease>
    <us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="Fact002146"
      unitRef="USD">150000</us-gaap:GainLossOnSalesOfAssetsAndAssetImpairmentCharges>
    <duot:ScheduleOfNoteReceivableTableTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact002154">&lt;table cellpadding="0" cellspacing="0" id="xdx_887_ecustom--ScheduleOfNoteReceivableTableTextBlock_zAJcwLsMQZsh" style="font: 11pt Aptos; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - SALE OF ASSETS (Details)"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td id="xdx_8BB_zKS748qY8aY5" style="display: none"&gt;Schedule of note receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20231231_zn1A6yCmHzpa" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--ConvertibleNoteReceivable_iI_pp0p0_z7TIb7JSRz3d" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 83%; text-align: justify"&gt;Convertible note receivable&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 14%; text-align: right"&gt;165,000&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DebtInstrumentUnamortizedDiscount_iNI_pp0p0_di_zcMkXkrSJENc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 1pt"&gt;Unamortized discount&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;(11,250&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_ecustom--ConvertibleNoteReceivableNet_iI_pp0p0_zRaNDSi1BTli" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; padding-bottom: 2.5pt"&gt;Convertible note receivable, net&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;153,750&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</duot:ScheduleOfNoteReceivableTableTextBlock>
    <duot:ConvertibleNoteReceivable
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact002156"
      unitRef="USD">165000</duot:ConvertibleNoteReceivable>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact002158"
      unitRef="USD">11250</us-gaap:DebtInstrumentUnamortizedDiscount>
    <duot:ConvertibleNoteReceivableNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact002160"
      unitRef="USD">153750</duot:ConvertibleNoteReceivableNet>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2023-01-01to2023-12-31" id="Fact002163">&lt;p id="xdx_808_eus-gaap--SubsequentEventsTextBlock_zIZ74r3JGzXj" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;NOTE 17 &#x2013; &lt;span id="xdx_827_zJD2aSveO7bf"&gt;SUBSEQUENT EVENTS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt/107% Times New Roman, Times, Serif; margin: 0 0 8pt; text-align: justify"&gt;On March 22, 2024, the Company conducted
a private placement offering, selling a combined total of &lt;span id="xdx_902_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20240321__20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--StatementClassOfStockAxis__custom--SeriesDConvertiblePreferredStockMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z29StPMWTpXa"&gt;620
&lt;/span&gt;Series D Convertible Preferred Stock and &lt;span id="xdx_906_eus-gaap--SaleOfStockNumberOfSharesIssuedInTransaction_c20240321__20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zKNxBER4b5G"&gt;2,125
&lt;/span&gt;Series E Convertible Preferred Stock to both existing and new accredited investors. The offering price for both Series D and Series
E was at $&lt;span id="xdx_90E_eus-gaap--SaleOfStockPricePerShare_iI_pip0_c20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--StatementClassOfStockAxis__custom--SeriesEConvertiblePreferredStockMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z8xsVdIJ9eSb"&gt;1,000
&lt;/span&gt;per share with a common equivalent of $&lt;span id="xdx_904_eus-gaap--SaleOfStockPricePerShare_iI_pip0_c20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zTRLqF5Mpaq2"&gt;3.00
&lt;/span&gt;for both classes of shares. The private placement brought in gross proceeds of $&lt;span id="xdx_90F_eus-gaap--SaleOfStockConsiderationReceivedOnTransaction_c20240321__20240322__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--PrivatePlacementMember__srt--TitleOfIndividualAxis__custom--NewAccreditedInvestorsMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z2C5c37QMH75"&gt;2,745,000
&lt;/span&gt;to the Company. The Series D Convertible Preferred Stock has already been approved for common stock conversion during the Company's
2023 annual shareholders meeting. The Series E Preferred Stock is subject to shareholder approval for conversion to common stock. As
such, the securities purchase agreement for Series E Convertible Preferred Stock carries standard anti-dilution provisions which remain
in effect until December 31, 2024.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In connection with the Purchase Agreement, the Company
also entered into a Registration Rights Agreement with the Purchasers. Pursuant to the Registration Rights Agreement, the Company shall
file with the SEC a registration statement covering the resale by the Purchasers of the shares of common stock into which the shares of
Series D and Series E Preferred Stock are convertible. Subject to certain conditions, the Company must cause the registration statement
to be declared effective by 90 days after closing (or in the event of a full review by the SEC, by 120 days). The Registration Rights
Agreement contains customary representations, warranties, agreements and indemnification rights and obligations of the parties. Under
the Purchase Agreement, the Company is required to hold a meeting of shareholders at the earliest practical date, but in no event later
than 120 days after closing (or 150 days in the event of a review of the proxy statement by the Securities and Exchange Commission (the
&#x201c;SEC&#x201d;)). As described below, the terms of the Series E Preferred Stock limit its convertibility until the Company receives
shareholder approval (the &#x201c;Stockholder Approval&#x201d;). If the Company does not obtain the Stockholder Approval at the first meeting,
it is required to hold shareholder meetings every four months until the Stockholder Approval is obtained.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Purchase Agreement for Series E Preferred Stock
also provides that the Company will not, with certain exceptions, sell or issue common stock or Common Stock Equivalents (as defined in
the Purchase Agreement) on or prior to December 31, 2024 that entitles any person to acquire shares of common stock at an effective price
per share less than the then conversion price of the Series E Preferred Stock without the consent of the Purchaser.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Registration Rights Agreement contains provisions
for liquidated damages equal to 1% multiplied by the aggregate subscription amount paid, paid each month, in the event certain deadlines
are missed.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesDConvertiblePreferredStockMember_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="Fact002164"
      unitRef="Shares">620</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesEConvertiblePreferredStockMember_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="Fact002165"
      unitRef="Shares">2125</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_custom_SeriesEConvertiblePreferredStockMember_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="Fact002166"
      unitRef="USDPShares">1000</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact002167"
      unitRef="USDPShares">3.00</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="From2024-03-212024-03-22_us-gaap_PrivatePlacementMember_custom_NewAccreditedInvestorsMember_us-gaap_SubsequentEventMember"
      decimals="0"
      id="Fact002168"
      unitRef="USD">2745000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
